Type de données MySQL Enum

Type de données MySQL Enum
De nombreux types de données existent dans MySQL pour stocker différentes données dans le tableau de la base de données. Le type de données en en en est l'un d'entre eux. La forme complète de l'énumération est une énumération. Lorsqu'il est nécessaire d'insérer une valeur particulière à partir de la liste des valeurs prédéfinies dans un champ d'un tableau, un type de données d'énumération est utilisé. La liste des valeurs est stockée sous forme de chaîne pour le champ Enum, et le nombre de valeurs sélectionnées dans les valeurs de liste sera insérée dans le champ Enum au moment de l'insertion ou de la mise à jour. Lorsque le champ Enum est récupéré de la table, il montrera la valeur du nombre au format lisible par l'homme. Les utilisations du type de données ENUM dans MySQL ont été montrées dans ce tutoriel.

Syntaxe:

La syntaxe du type de données d'énumération est donnée ci-dessous.

Créer une table table_name (

enum_field enum ('Val1', 'Val2',…, 'Valn'),

));

Les valeurs maximales de 65 535 peuvent être définies comme des valeurs d'énumération.

Attributs d'énumération:

Le type de données en énumération a trois attributs. Ceux-ci sont décrits ci-dessous.

DÉFAUT

La valeur par défaut du type de données d'énumération est nul. Si aucune valeur n'est fournie pour le champ Enum, alors la valeur nul sera insérée.

NUL

Il fonctionne de la même manière que la valeur par défaut si cet attribut est défini pour le champ Enum.

Pas nul

Un message d'avertissement apparaîtra si cet attribut est défini pour le champ Enum et qu'aucune valeur n'est fournie au moment de l'insertion.

Vérification des utilisations du type de données d'énumération:

Vous devez créer un tableau avec un type de données en en enUminant une base de données MySQL pour vérifier l'utilisation du type de données d'énumération. Ouvrez le terminal et connectez-vous avec le serveur MySQL en exécutant la commande suivante.

$ sudo mysql -u racine

Exécutez la commande suivante pour créer une base de données nommée test_db.

Créer une base de données test_db;

Exécutez la commande suivante pour sélectionner la base de données.

Utilisez test_db;

Exécutez la requête suivante pour créer un tableau nommé Livre avec cinq champs. Le type de données du taper Le champ de ce tableau est une enum qui stockera l'une des trois valeurs (ingénierie, médicale et affaires).

Créer un livre de table (
id int not null auto_increment clé primaire,
nom varchar (50) pas null,
Type enum («ingénierie», «médical», «entreprise»),
Auteur Varchar (50) pas null,
Float de prix (5,2) pas nul
) Moteur = inNODB;

Exécutez la commande suivante pour vérifier la structure du Livre tableau.

Décrire le livre;

Sortir:

La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Insérer des données valides dans le tableau:

Exécutez la requête d'insertion suivante pour insérer trois enregistrements dans le Livre tableau. «Ingénierie,« Medical »et« Business »des valeurs ont été utilisées pour le champ Enum de la table, qui est des valeurs d'énumération valides. Ainsi, la requête sera exécutée sans aucune erreur.

Insérer dans `` Book '' ('Id', 'Name', 'Type', 'Auteur', 'Price') Valeurs
(Null, «Théorie des machines», «ingénierie», «J.K. Gupta et R.S. Khurmi ', 59.99),
(Null, «Pocket Medicine», «Medical», «Marc S Sabatine», 45.80),
(Null, «Principes of Marketing», «Business», «Gary Armstrong et Philip Kotler», 60.00);

Lire les données du tableau:

Après avoir exécuté la requête d'insertion, exécutez la requête de sélection suivante pour vérifier le contenu du Livre tableau.

Sélectionner * dans «livre»;

Sortir:

La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Insérez des données non valides dans le tableau:

La requête d'insert générera une erreur si la valeur qui n'existe pas dans la liste des énumérations sera essayée. Dans la requête d'insertion suivante, la valeur «BBA» est définie pour le champ Enum (type), mais il ne correspond à aucun des éléments d'énumération définis au moment de la création de table. Ainsi, la requête d'insertion suivante générera une erreur après l'exécution.

Insérer dans `` Book '' ('Id', 'Name', 'Type', 'Auteur', 'Price') Valeurs
(Null, «Business Communication Essentials», «BBA», «Courtland L Bovee et John Thill», 59.99);

Sortir:

La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus. Ici, erreur non 1265 a été généré et aucun nouvel enregistrement ne sera inséré.

Filtrez les données du tableau en fonction de la valeur d'énumération numérique:

La valeur de la chaîne est utilisée au moment de l'insertion de données dans le champ Enum du tableau, mais les enregistrements insérés du tableau peuvent être récupérés en fonction de l'index numérique ou de la valeur de la chaîne du champ Enum. L'utilisation de l'indice numérique de la valeur d'énumération pour filtrer les données de la Livre Le tableau a été présenté dans la requête de sélection suivante. L'indice numérique 2 du champ Enum contient la valeur, «médical.'Ainsi, les enregistrements qui contiennent la valeur 'Médical' Dans le champ de type du Livre Le tableau apparaîtra dans la sortie. Il n'y a qu'un seul enregistrement dans le tableau qui correspond aux critères.

Sélectionnez ID, nom, type, auteur, prix du livre où type = 2;

Sortir:

La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus.

Filtrez les données du tableau en fonction de la valeur d'énumération lisible par l'homme:

Il n'est pas plus facile de se souvenir de l'index numérique de chaque valeur d'élément d'énumération si le champ d'énumération contient une liste d'un grand nombre d'éléments. Dans ce cas, il est préférable d'utiliser la valeur de la chaîne de l'élément d'énumération dans la requête pour récupérer les enregistrements en fonction de la valeur du champ d'énumération. La requête de sélection suivante filtrera les enregistrements où le champ de type contient la valeur, «Business.'Selon les données du tableau du livre, il n'y a qu'un seul enregistrement correspondant avec le taper valeur, 'Business.'

Sélectionnez ID, nom, type, auteur, prix du livre où type = «entreprise»;

Sortir:

La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus.

Conclusion:

L'énuo est un type de données bénéfique de MySQL. L'insertion de données non valides peut être évitée en utilisant ce type de données. La façon de déclarer et d'insérer des données dans le champ Enum et la façon de récupérer des données basées sur le champ Enum ont été montrées dans ce tutoriel en utilisant des exemples.