English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Contrainte - Régles imposées aux colonnes de données des tables pour limiter les types de données qui peuvent entrer dans la table. Cela assure l'exactitude et la fiabilité des données dans la base de données.
Les contraintes peuvent être au niveau de la colonne ou du tableau. Les contraintes de niveau colonne ne s'appliquent qu'à une seule colonne, tandis que les contraintes de niveau tableau s'appliquent à l'ensemble du tableau.
Voici les contraintes courantes disponibles dans SQLite.
NOT NULL Contrainte - Assure que la colonne ne peut pas être une valeur NULL.
DEFAULT Contrainte - Fournit une valeur par défaut pour la colonne si elle n'est pas spécifiée.
UNIQUE Contrainte - Assure que toutes les valeurs dans la colonne sont différentes.
Clé primaire − Identifie de manière unique chaque ligne dans la table de base de données./Enregistrement.
CHECK Contrainte - Assure que toutes les valeurs dans la colonne répondent à certaines conditions.
Par défaut, une colonne peut stocker des valeurs NULL. Si vous ne souhaitez pas que une colonne ait des valeurs NULL, vous devez définir cette contrainte sur cette colonne pour spécifier que cette colonne ne permet plus NULL.
NULL équivaut à une absence de données, il représente des données inconnues.
Par exemple, la requête SQLite suivante crée une nouvelle table nommée COMPANY et ajoute cinq colonnes, dont trois (ID, NAME et AGE) ne permettent pas de NULL.
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Lorsque la requête INSERT INTO ne fournit pas de valeurs spécifiques, la contrainte DEFAULT fournit une valeur par défaut pour la colonne.
Par exemple, la requête SQLite suivante crée une nouvelle table nommée COMPANY et ajoute cinq colonnes. Ici, la colonne SALARY est définie par défaut.5000.00,因此,如果INSERT INTO语句不为此列提供值,则默认情况下,此列将设置为5000.00,par conséquent, si l'insertion INTO la phrase ne fournit pas de valeur pour cette colonne, par défaut, cette colonne sera définie comme
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), AGE INT NOT NULL UNIQUE, 5SALARY REAL DEFAULT );
Contrainte UNIQUE
La contrainte UNIQUE empêche deux enregistrements d'avoir la même valeur dans une colonne spécifique. Par exemple, dans la table COMPANY, vous pourriez vouloir empêcher deux ou plusieurs personnes d'avoir la même âge.-
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, Par exemple, la requête SQLite suivante crée une nouvelle table nommée COMPANY et ajoute cinq colonnes. Ici, la colonne AGE est définie comme UNIQUE, donc vous ne pouvez pas avoir deux enregistrements avec la même âge. ADDRESS CHAR(50), AGE INT NOT NULL UNIQUE, 5SALARY REAL DEFAULT );
Contrainte PRIMARY Key
La contrainte PRIMARY KEY identifie unique chaque enregistrement dans la table de base de données. Il peut y avoir plus de colonnes UNIQUE, mais une seule clé primaire dans la table. La clé primaire est importante lors de la conception de la table de base de données. La clé primaire est un ID unique.
Nous les utilisons pour référencer les lignes de table. Lors de la création de relations entre tables, la clé primaire devient une clé étrangère dans d'autres tables. En raison de la 'surveillance à long terme du codage', la clé primaire dans SQLite peut être NULL. Les autres bases de données ne sont pas dans ce cas./La clé primaire est un champ dans la table qui identifie uniquement chaque ligne de la table de base de données
enregistrements. La clé primaire doit contenir des valeurs uniques. Les colonnes de la clé primaire ne peuvent pas contenir de valeurs NULL.Une table ne peut avoir qu'une seule clé primaire, qui peut être composée d'un ou plusieurs champs. Lorsque plusieurs champs sont utilisés comme clé primaire, ils sont appeléscomposite key
。
Vous avez déjà vu de nombreux exemples ci-dessus, où nous avons créé une table COMPANY avec ID en tant que clé primaire. Si une table définit des champs primaire(s) sur une autre table, deux enregistrements ne peuvent pas avoir la même valeur(s) field(s).
CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL );
Les contraintes CHECK permettent de vérifier les valeurs insérées dans les enregistrements. Si le calcul de la condition donne false, l'enregistrement enfreint la contrainte et n'est pas inséré dans le tableau.
Par exemple, voici un exemple de SQLite créant une nouvelle table nommée COMPANY et ajoutant cinq colonnes. Ici, nous avons ajouté une colonne CHECK avec SALARY, donc vous ne pouvez pas avoir de SALARY 0.
CREATE TABLE COMPANY3( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL CHECK(SALARY > 0) );
SQLite supporte un sous-ensemble limité d'ALTER TABLE. La commande ALTER TABLE de SQLite permet à l'utilisateur de renommer une table ou d'ajouter de nouvelles colonnes à une table existante. Il n'est pas possible de renommer une colonne, de supprimer une colonne ou d'ajouter ou de supprimer des contraintes dans une table.