Tutoriel SQL

ACCUEIL SQL Introduction SQL Syntaxe SQL Sélection SQL SQL Select Distinct SQL Où SQL et, ou, pas Tri SQL par Insertion SQL dans Valeurs nulles SQL Mise à jour SQL Supprimer SQL SQL Sélectionner Haut Min et Max SQL Nombre SQL, Moy, Somme J'aime SQL Caractères génériques SQL Entrée SQL SQL Entre Alias ​​SQL Jointures SQL Jointure interne SQL Jointure gauche SQL Jointure droite SQL Jointure complète SQL Auto-jointure SQL Union SQL Regrouper SQL par SQL ayant SQL existe SQL Tout, Tout SQL Sélectionner dans Insertion SQL dans la sélection Cas SQL Fonctions nulles SQL Procédures stockées SQL Commentaires SQL Opérateurs SQL

Base de données SQL

SQL Créer une base de données BD de suppression SQL Base de données de sauvegarde SQL Créer une table SQL Table de dépôt SQL Table de modification SQL Contraintes SQL SQL non nul SQL unique Clé primaire SQL Clé étrangère SQL Vérification SQL SQL par défaut Index SQL Incrément automatique SQL Dates SQL Vues SQL Injection SQL Hébergement SQL Types de données SQL

Références SQL

Mots clés SQL Fonctions MySQL Fonctions SQL Server Fonctions MS Access Référence rapide SQL

Exemples SQL

Exemples SQL Questionnaire SQL Exercices SQL Certificat SQL

Contrainte SQL CHECK


Contrainte SQL CHECK

La CHECKcontrainte est utilisée pour limiter la plage de valeurs qui peut être placée dans une colonne.

Si vous définissez une CHECKcontrainte sur une colonne, seules certaines valeurs seront autorisées pour cette colonne.

Si vous définissez une CHECKcontrainte sur une table, elle peut limiter les valeurs de certaines colonnes en fonction des valeurs d'autres colonnes de la ligne.


SQL CHECK sur CREATE TABLE

Le SQL suivant crée une CHECKcontrainte sur la colonne "Age" lors de la création de la table "Persons". La CHECKcontrainte garantit que l'âge d'une personne doit être de 18 ans ou plus :

MySQL :

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
);

SQL Server/Oracle/MS Access :

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int CHECK (Age>=18)
);

Pour autoriser la dénomination d'une CHECKcontrainte et pour définir une CHECKcontrainte sur plusieurs colonnes, utilisez la syntaxe SQL suivante :

MySQL/SQL Server/Oracle/MS Access :

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255),
    CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);


VÉRIFICATION SQL sur ALTER TABLE

Pour créer une CHECKcontrainte sur la colonne "Age" alors que la table est déjà créée, utilisez le SQL suivant :

MySQL/SQL Server/Oracle/MS Access :

ALTER TABLE Persons
ADD CHECK (Age>=18);

Pour autoriser la dénomination d'une CHECKcontrainte et pour définir une CHECKcontrainte sur plusieurs colonnes, utilisez la syntaxe SQL suivante :

MySQL/SQL Server/Oracle/MS Access :

ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');

DROP une contrainte CHECK

Pour supprimer une CHECKcontrainte, utilisez le SQL suivant :

SQL Server/Oracle/MS Access :

ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;

MySQL :

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;