English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous apprendrez à utiliser les contraintes SQL.
Les contraintes sont des restrictions sur une ou plusieurs colonnes d'une table pour limiter le type de valeurs qui peuvent être stockées dans cette colonne. Les contraintes fournissent un mécanisme standard pour maintenir l'exactitude et l'intégrité des données dans les tables de base de données.
Il existe plusieurs types de contraintes différentes en SQL, y compris :
Maintenant, discutons en détail de chaque contrainte.
Cette contrainte NOT NULL spécifie que la colonne ne peut pas accepter de valeurs NULL.
Cela signifie que si une contrainte NOT NULL est appliquée à une colonne, alors vous devez insérer une nouvelle ligne dans le tableau sans ajouter de valeur non NULL à cette colonne.
以下SQL语句创建一个名为person deLa table, qui a quatre colonnes, dont troisid,nameEmployés (employees)de la table, etLes valeurs NULL ne sont pas acceptées.
CREATE TABLE persons ( id INT NOT NULL, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15) NOT NULL );
Attention :Les valeurs NULL ou NULL sont différentes de zéro, d'un espace ou d'une chaîne de longueur zéro, par exemple ''. NULL signifie que rien n'a été saisi.
La contrainte PRIMARY KEY identifie les colonnes ou les ensembles de colonnes qui ont des valeurs uniques pour chaque ligne de la table. Deux lignes différentes de la table ne peuvent pas avoir la même valeur de clé principale. De plus, vous ne pouvez pas entrer de valeurs NULL dans la colonne clé principale.
以下SQL语句创建一个名为Les instructions SQL suivantes créent une table nomméepersonsidLa colonne est désignée comme clé principale. Cela signifie que ce champ ne permet pas de NULL ou de valeurs répétées.
CREATE TABLE persons ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15) NOT NULL );
Conseil :La clé principale est généralement composée d'une colonne d'une table, mais elle peut être composée de plusieurs colonnes, par exemple, l'adresse e-mail ou le numéro d'identification attribué est la clé principale logique de la table des employés.
La contrainte UNIQUE limite une ou plusieurs colonnes à contenir des valeurs uniques dans une table.
Bien que les contraintes UNIQUE et PRIMARY KEY imposent toutes deux l'unicité, UNIQUE mais PRIMARY KEY lorsque vous souhaitez imposer l'unicité d'une colonne ou d'un ensemble de colonnes (et non la clé principale), utilisez une contrainte plutôt qu'une autre.
以下SQL语句创建一个名为Les instructions SQL suivantes créent une table nomméepersonsde la table, etphone
CREATE TABLE persons ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15colonne spécifiée comme unique. Cela signifie que le champ ne permet pas de valeurs répétées. );
Attention :) NOT NULL UNIQUE
Contrainte par défaut (DEFAULT)
La valeur par défaut de la colonne est la valeur par défaut spécifiée par la contrainte DEFAULT.INSERTlorsque l'engin de base de données insère une certaine valeur dans la colonne lorsque l'instruction n'attribue pas explicitement de valeur spécifique.
Les instructions SQL suivantes sont pour Pays/Régioncréer une valeur par défaut pour la colonne.
CREATE TABLE persons ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, birth_date DATE, phone VARCHAR(15) NOT NULL UNIQUE, country VARCHAR(30) NOT NULL DEFAULT 'Australia' );
Attention :Si vous définissez une colonne de table comme NOT NULL mais attribuez une valeur par défaut à cette colonne, vous n'avez pas besoin d'attribuer explicitement une valeur à cette colonne dans l'instruction INSERT pour insérer une nouvelle ligne dans la table.
La clé étrangère (FK) est une colonne ou un ensemble de colonnes qui permet de créer et de renforcer des relations entre les données de deux tables.
Cela montre)Employés (employees)Département(departmentsetemployeesdans la tabledept_idreprésente un exemple de relation entre les tablesdepartmentsDonc, la colonnedept_id correspond à la colonne primaire de la table.de la colonnenombred'employésla clé étrangère de la tableDépartementtable.
Dans MySQL, vous pouvez créer une clé étrangère en définissant une contrainte lors de la création de la table. Les instructions suivantes dansemployeesdans la tabledept_idcréer une clé étrangère sur la colonnedepartmentsdans la tabledept_idcolonne.
CREATE TABLE employees ( emp_id INT NOT NULL PRIMARY KEY, emp_name VARCHAR(55) NOT NULL, hire_date DATE NOT NULL, salary INT dept_id INT, FOREIGN KEY (dept_id) REFERENCES departments(dept_id) );
La contrainte CHECK est utilisée pour limiter les valeurs qui peuvent être placées dans une colonne.
Par exemple, vous pouvez créer une contrainte CHECK pour limiter la plage de valeurs de la colonne salaire, cette contrainte n'autorise que les valeurs comprises entre3à 1000010Entre 0 et 10000. Cela permet de prévenir l'entrée de salaires qui dépassent les limites normales du salaire.
CREATE TABLE employees ( emp_id INT NOT NULL PRIMARY KEY, emp_name VARCHAR(55) NOT NULL, hire_date DATE NOT NULL, salary INT NOT NULL CHECK (salary >= 3000 AND salary <= 10000), dept_id INT, FOREIGN KEY (dept_id) REFERENCES departments(dept_id) );
Attention : MySQL ne prend pas en charge la contrainte de vérification SQL. Cependant, tous les moteurs de stockage de MySQL解析ent la clause CHECK, mais l'ignorent.