MySQL par défaut

MySQL par défaut

«Dans cet article, nous discuterons de la façon d'utiliser la contrainte par défaut dans la colonne MySQL. Nous apprendrons à utiliser ce type de contrainte dans la définition du schéma de table pour une colonne spécifique."

Si cela semble intéressant, plongeons et apprenons plus.

Syntaxe de contrainte par défaut MySQL

L'extrait ci-dessous montre la syntaxe de la contrainte par défaut:

col_name data_type default_value;


Explorons la syntaxe ci-dessus.

Nous commençons par le Column_name, qui spécifie le nom de la colonne sur laquelle vous souhaitez définir une contrainte par défaut. Nous définissons ensuite le type de données pour ladite colonne.

Le mot-clé par défaut est suivi de la valeur par défaut, qui définit une valeur littérale. Par conséquent, si vous insérez ou mettez à jour une ligne qui n'inclut pas de valeur pour cette colonne, MySQL utilisera la valeur par défaut définie au lieu d'un type nul.

Il est bon de garder à l'esprit que la valeur par défaut ne peut pas être une expression ou une fonction.

C'est une bonne pratique de définir la contrainte par défaut pendant la définition du tableau. Cela aide à préserver les données du tableau, et aucune donnée antérieure n'est définie sur NULL.

Exemple pratique

L'exemple suivant montre comment définir la contrainte par défaut pendant la création de table.

MySQL> Créer une base de données Zero_Day;
Requête ok, 1 rangée affectée (0.00 sec)


Utilisez la base de données cible:

mysql> utilisez zéro_day;
La base de données modifiée


Créez une table avec le schéma ci-dessous:

mysql> créer des enregistrements de table (
-> id int not null auto_increment clé primaire,
-> report_name varchar (255) pas null,
-> date de rapport_date non nul,
-> report_author varchar (100) par défaut «anonyme»,
-> Gravité int nul,
-> Vérifier (gravité> 0)
->);


La requête ci-dessus crée un tableau appelé_records avec diverses colonnes. Faites attention à la colonne Report_author. Nous définissons une contrainte par défaut et définissons la valeur par défaut sur «Anonyme».

Par conséquent, si nous ne spécifions pas la valeur de cette colonne, MySQL utilisera cette valeur au lieu de Null.

Vous pouvez confirmer le schéma de table après le fait en utilisant la commande DESC:

DESC RECORDS;


Cela devrait renvoyer la définition du tableau en tant que table.


Comme vous pouvez le voir, le rapport_author contient une valeur par défaut tandis que les autres colonnes utilisent Null comme valeur par défaut.

Pour tester cela, nous pouvons insérer les enregistrements comme indiqué:

Insérer dans les dossiers (report_name, report_date, gravité)
VALEURS ('DESC-100', '2022-01-20', 6);


L'instruction INSERT ci-dessus ajoute un enregistrement au tableau sans fournir la valeur pour le reportage_table.

Cela devrait forcer MySQL à utiliser la valeur par défaut comme indiqué:

MySQL> SELECT * FROM RECORDS;


La table de sortie:

+----+-------------+-------------+---------------+----------+
| ID | report_name | report_date | report_author | Gravité |
+----+-------------+-------------+---------------+----------+
| 1 | DESC-100 | 2022-01-20 | Anonyme | 6 |
+----+-------------+-------------+---------------+----------+
1 ligne en jeu (0.00 sec)


Comme nous pouvons le voir, le tableau contient la valeur «anonyme» au lieu de Null.

Ajouter une contrainte par défaut sur le tableau existant

Nous pouvons également ajouter une contrainte par défaut à un tableau existant en utilisant la commande alter table comme indiqué:

La syntaxe de commande est comme indiqué:

ALTER TABLE TABLE_NAME
Alter colonne Column_name set default_value default_value;


Par exemple, pour ajouter une contrainte par défaut à la colonne de gravité:

MySQL> ALTER RECORDS TABLE ALTER LE SÉMOBITÉ DE COLONNE SET DE DÉFAUT 5;


Cela devrait mettre à jour la colonne de gravité pour inclure la contrainte par défaut avec une valeur de 5.

Conclusion

Dans cet article, nous avons discuté de la façon d'utiliser l'ensemble et d'utiliser la contrainte par défaut dans une colonne de table.