ADD CONSTRAINT UNIQUE();"."/> ADD CONSTRAINT UNIQUE();".">

Maison >base de données >tutoriel mysql >qu'est-ce que MySQL est unique

qu'est-ce que MySQL est unique

青灯夜游
青灯夜游original
2023-04-19 15:30:186069parcourir

Dans MySQL, unique fait référence à une « contrainte unique », ce qui signifie que la valeur d'un champ dans tous les enregistrements ne peut pas apparaître de manière répétée. Il peut y avoir plusieurs contraintes uniques dans une table et la colonne dans laquelle la contrainte unique est définie peut avoir des valeurs nulles, mais il ne peut y avoir qu'une seule valeur nulle. La syntaxe pour ajouter une contrainte unique lors de la modification d'une table est "ALTER TABLE c4980a0e26010a4658d4d772a6e93452 ADD CONSTRAINT ac6c6095923cf303900310059459e79c UNIQUE(7fb667abe63b2f43b0394465a3db07c5);".

qu'est-ce que MySQL est unique

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

Dans MySQL, unique fait référence à "contrainte unique".

Contrainte unique MySQL (CLÉ UNIQUE)

La contrainte unique MySQL (Clé unique) signifie que la valeur d'un champ dans tous les enregistrements ne peut pas apparaître de manière répétée. Par exemple, après avoir ajouté une contrainte unique au champ id, la valeur id de chaque enregistrement est unique et ne peut pas être répétée. Si la valeur d'identifiant de l'un des enregistrements est « 0001 », alors il ne peut pas y avoir d'autre enregistrement avec la valeur d'identifiant de « 0001 » dans la table.

Les contraintes uniques sont similaires aux contraintes de clé primaire dans le sens où elles garantissent toutes deux l'unicité des colonnes. La différence est qu'il peut y avoir plusieurs contraintes uniques dans une table et que la colonne dans laquelle la contrainte unique est définie peut avoir des valeurs nulles, mais il ne peut y avoir qu'une seule valeur nulle. Il ne peut y avoir qu'une seule contrainte de clé primaire dans une table et les valeurs nulles ne sont pas autorisées. Par exemple, dans le tableau d'informations utilisateur, afin d'éviter les noms d'utilisateur en double dans le tableau, le nom d'utilisateur peut être défini comme une contrainte unique.

Définissez des contraintes uniques lors de la création de la table

Des contraintes uniques peuvent être définies directement lors de la création de la table, généralement sur d'autres colonnes à l'exception de la clé primaire.

Utilisez le mot-clé UNIQUE directement après avoir défini la colonne pour spécifier une contrainte unique. Le format de syntaxe est le suivant :

<字段名> <数据类型> UNIQUE

Exemple 1 :

Créez la table de données tb_dept2 et spécifiez un nom unique pour le département et. les résultats d'exécution sont les suivants.

mysql> CREATE TABLE tb_dept2
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22) UNIQUE,
    -> location VARCHAR(50)
    -> );
Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_dept2;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(40) | YES  | UNI | NULL    |       |
| location | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.08 sec)

Ajouter une contrainte unique lors de la modification de la table

Le format syntaxique d'ajout d'une contrainte unique lors de la modification de la table est :

ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);

Exemple 2 :

Modifier la table de données tb_dept1, préciser le nom unique du département , Instruction SQL et résultats d'exécution Comme indiqué ci-dessous.

mysql> ALTER TABLE tb_dept1
    -> ADD CONSTRAINT unique_name UNIQUE(name);
Query OK, 0 rows affected (0.63 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_dept1;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(22) | NO   | UNI | NULL    |       |
| location | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Supprimer une contrainte unique

Le format syntaxique pour supprimer une contrainte unique dans MySQL est le suivant :

ALTER TABLE <表名> DROP INDEX <唯一约束名>;

Exemple 3 :

Supprimer la contrainte unique nom_unique dans la table de données tb_dept1 L'instruction SQL et les résultats en cours d'exécution. sont les suivants.

mysql> ALTER TABLE tb_dept1
    -> DROP INDEX unique_name;
Query OK, 0 rows affected (0.20 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> DESC tb_dept1;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(22) | NO   |     | NULL    |       |
| location | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

【Recommandations associées : tutoriel vidéo mysql

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn