MySQL Enum Datentyp

MySQL Enum Datentyp
In MySQL existieren viele Datentypen, um verschiedene Daten in die Datenbanktabelle zu speichern. Der Enum -Datentyp ist einer von ihnen. Die vollständige Form von Enum ist eine Aufzählung. Wenn es erforderlich ist, einen bestimmten Wert aus der Liste der vordefinierten Werte in ein Feld einer Tabelle einzufügen, wird ein Enum -Datentyp verwendet. Die Liste der Werte wird als Zeichenfolge für das Feld Enum gespeichert, und die Anzahl der ausgewählten Werte aus den Listenwerten wird in der Zeit des Einfügens oder der Aktualisierung in das Feld Enum eingefügt. Wenn das Feld Enum aus der Tabelle abgerufen wird, zeigt es den Wert von der Zahl zum menschlichen Lesbarenformat an. Die Verwendung von Enum -Datentypen in MySQL wurde in diesem Tutorial gezeigt.

Syntax:

Die Syntax des Enum -Datentyps ist unten angegeben.

Table table erstellen (

enum_field enum ('val1', 'val2',…, 'valn'),

);

Maximal 65.535 Werte können als Enum -Werte definiert werden.

Enumattribute:

Der Enum -Datentyp hat drei Attribute. Diese werden nachstehend beschrieben.

STANDARD

Der Standardwert des Enum -Datentyps ist null. Wenn für das Feld Enum kein Wert bereitgestellt wird, wird der Nullwert eingefügt.

NULL

Es funktioniert genauso wie der Standardwert, wenn dieses Attribut für das Feld Enum festgelegt ist.

NICHT NULL

Eine Warnmeldung wird angezeigt, wenn dieses Attribut für das Feld Enum festgelegt wird und zur Einfügungszeit kein Wert bereitgestellt wird.

Überprüfen Sie die Verwendung des Enum -Datentyps:

Sie müssen eine Tabelle mit Enum -Datentyp in einer MySQL -Datenbank erstellen, um die Verwendung des Enum -Datentyps zu überprüfen. Öffnen Sie das Terminal und verbinden Sie sich mit dem MySQL -Server, indem Sie den folgenden Befehl ausführen.

$ sudo mysql -u root

Führen Sie den folgenden Befehl aus, um eine Datenbank mit dem Namen zu erstellen test_db.

Datenbank erstellen test_db;

Führen Sie den folgenden Befehl aus, um die Datenbank auszuwählen.

Verwenden Sie test_db;

Führen Sie die folgende Anfrage aus, um eine Tabelle mit dem Namen zu erstellen Buch mit fünf Feldern. Der Datentyp der Typ Das Feld dieser Tabelle ist eine Aufzählung, die einen von drei Werten aufbewahrt (Engineering, Medizin und Geschäft).

Tischbuch erstellen (
ID int nicht null auto_increment Primärschlüssel,
Nennen Sie Varchar (50) NICHT NULL,
Typ Enum ('Engineering', 'Medical', 'Business'),
Autor varchar (50) nicht null,
Preisschwimmer (5,2) nicht null
) Motor = InnoDB;

Führen Sie den folgenden Befehl aus, um die Struktur der Struktur zu überprüfen Buch Tisch.

Buch beschreiben;

Ausgang:

Nach der Ausführung des obigen Befehls wird die folgende Ausgabe angezeigt.

Fügen Sie gültige Daten in die Tabelle ein:

Führen Sie die folgende Abfrage aus, um drei Datensätze in die Einführung in die Buch Tisch. "Engineering," Medical "und" Business "-Werte wurden für das Feld Enum der Tabelle verwendet, das gültige Enum -Werte sind. Die Abfrage wird also ohne Fehler ausgeführt.

Einfügen in 'Buch' ('ID', 'Name', 'Typ', 'Autor', 'Price') Werte ein
(Null, "Theorie der Maschinen", "Engineering", "J.K. Gupta und r.S. Khurmi ', 59.99),
(Null, 'Pocket Medicine', 'Medical', 'Marc S Sabatine', 45.80),
(Null, "Prinzipien des Marketings", "Business", "Gary Armstrong und Philip Kotler", 60, 60.00);

Daten aus der Tabelle lesen:

Führen Sie nach der Ausführung der Abfrage die folgende Abfrage aus, um den Inhalt des Buch Tisch.

Wählen Sie * aus 'Buch';

Ausgang:

Nach der Ausführung des obigen Befehls wird die folgende Ausgabe angezeigt.

Geben Sie ungültige Daten in die Tabelle ein:

Die Einfügungsabfrage erzeugt einen Fehler, wenn der Wert, der in der Auflaufliste nicht vorhanden ist. In der folgenden Abfrage wird der Wert 'BBA' für das Feld Enum (Typ) festgelegt, aber er stimmt nicht mit den zum Zeitpunkt der Tabellenerstellung definierten Enum -Elementen überein. Die folgende Einfügungsabfrage erzeugt also nach der Ausführung einen Fehler.

Einfügen in 'Buch' ('ID', 'Name', 'Typ', 'Autor', 'Price') Werte ein
(NULL, 'Business Communication Essentials', 'BBA', 'Courtland L Bovee und John Thill', 59.99);

Ausgang:

Nach der Ausführung des obigen Befehls wird die folgende Ausgabe angezeigt. Hier, Fehler nein 1265 wurde generiert und kein neuer Datensatz wird eingefügt.

Filterdaten aus der Tabelle basierend auf dem numerischen Enumswert:

Der Zeichenfolgenwert wird zum Zeitpunkt des Einfügungsdatens in das Feld Enum der Tabelle verwendet. Die eingefügten Datensätze der Tabelle können jedoch basierend auf dem numerischen Index oder dem Stringwert des Feldes Enum abgerufen werden. Die Verwendung des numerischen Index des Enumswerts zum Filtern der Daten aus dem Buch Die Tabelle wurde in der folgenden Auswahlabfrage gezeigt. Der numerische Index 2 des Enum -Feldes enthält den Wert 'medizinisch.'Also die Datensätze, die den Wert enthalten 'Medizinisch' im Typ des Typs der Buch Die Tabelle wird im Ausgang angezeigt. In der Tabelle gibt es nur einen Datensatz, der den Kriterien entspricht.

Wählen Sie ID, Name, Typ, Autor, Preis aus dem Buch Where type = 2;

Ausgang:

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt.

Filterdaten aus der Tabelle basierend auf dem menschlichen lesbaren Enumswert:

Es ist nicht einfacher, sich an den numerischen Index jedes Enum -Elementwerts zu erinnern, wenn das Feld Enum eine Liste einer großen Anzahl von Elementen enthält. In diesem Fall ist es besser, den Stringwert des Enum -Elements in der Abfrage zum Abrufen der Datensätze basierend auf dem Wert des Enum -Feldes zu verwenden. Die folgende Auswahlabfrage filtert die Datensätze, in denen das Feld des Typs den Wert enthält.'Laut den Buchentabellendaten gibt es nur einen passenden Datensatz mit dem Typ Wert, 'Geschäft.''

Wählen Sie ID, Name, Typ, Autor, Preis aus dem Buch Where type = 'Business';

Ausgang:

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt.

Abschluss:

Der Enum ist ein vorteilhafter Datentyp von MySQL. Die Einführung ungültiger Daten kann durch die Verwendung dieses Datentyps verhindert werden. In diesem Tutorial wurde die Art und Weise, wie die Daten zum Abrufen von Daten auf der Grundlage des Enum -Felds auf der Grundlage des Enum -Feldes auf dem Feld Enum angegeben sind, anhand von Beispielen angegeben und eingefügt werden.