logo

Contraintes en SQL

Les contraintes en SQL signifient que nous appliquons certaines conditions ou restrictions à la base de données. Cela signifie en outre qu'avant d'insérer des données dans la base de données, nous vérifions certaines conditions. Si la condition que nous avons appliquée à la base de données est vraie pour les données à insérer, alors seules les données seront insérées dans les tables de la base de données.

Les contraintes SQL peuvent être classées en deux types :

    Contrainte au niveau des colonnes :
    La contrainte de niveau de colonne est utilisée pour appliquer une contrainte sur une seule colonne.Contrainte au niveau de la table :
    La contrainte de niveau table est utilisée pour appliquer une contrainte sur plusieurs colonnes.

Voici quelques exemples concrets de contraintes :

  1. Chaque personne a un identifiant de messagerie unique. En effet, lors de la création d'un compte de messagerie pour n'importe quel utilisateur, les services de messagerie tels que Gmail, Yahoo ou tout autre service de messagerie vérifieront toujours la disponibilité de l'identifiant de messagerie que l'utilisateur souhaite pour lui-même. Si un autre utilisateur prend déjà l'identifiant de messagerie souhaité par l'utilisateur, cet identifiant ne peut pas être attribué à un autre utilisateur. Cela signifie simplement que deux utilisateurs ne peuvent pas avoir les mêmes identifiants de messagerie sur le même service de messagerie. Ainsi, ici, l'identifiant de messagerie est la contrainte sur la base de données des services fournissant des services de messagerie.
  2. Chaque fois que nous définissons un mot de passe pour un système, certaines contraintes doivent être respectées. Ces contraintes peuvent inclure les éléments suivants :
    • Il doit y avoir un caractère majuscule dans le mot de passe.
    • Le mot de passe doit comporter au moins huit caractères.
    • Le mot de passe doit contenir au moins un symbole spécial.

Les contraintes disponibles dans SQL sont :

  1. PAS NUL
  2. UNIQUE
  3. CLÉ PRIMAIRE
  4. CLÉ ÉTRANGÈRE
  5. VÉRIFIER
  6. DÉFAUT
  7. CRÉER UN INDICE

Essayons maintenant de comprendre plus en détail les différentes contraintes disponibles dans SQL à l’aide d’exemples. Nous utiliserons la base de données MySQL pour écrire toutes les requêtes.

1. PAS NULL

  • NULL signifie vide, c'est-à-dire que la valeur n'est pas disponible.
  • Chaque fois qu'une colonne d'une table est déclarée NOT NULL, la valeur de cette colonne ne peut être vide pour aucun des enregistrements de la table.
  • Il doit exister une valeur dans la colonne à laquelle la contrainte NOT NULL est appliquée.

REMARQUE : NULL ne signifie pas zéro. NULL signifie une colonne vide, même pas zéro.

Syntaxe pour appliquer la contrainte NOT NULL lors de la création de la table :

 CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype); 

Exemple:

Créez une table étudiant et appliquez une contrainte NOT NULL sur l'une des colonnes de la table lors de la création d'une table.

 CREATE TABLE student(StudentID INT NOT NULL, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40)); 

Contraintes en SQL

Pour vérifier que la contrainte non nulle est appliquée à la colonne de la table et que la table étudiant est créée avec succès, nous allons exécuter la requête suivante :

 mysql> DESC student; 

Contraintes en SQL

Syntaxe pour appliquer la contrainte NOT NULL sur la colonne d'une table existante :

 ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL; 

Exemple:

Considérons que nous avons une table étudiante existante, sans aucune contrainte qui lui est appliquée. Plus tard, nous avons décidé d'appliquer une contrainte NOT NULL à l'une des colonnes du tableau. Ensuite nous exécuterons la requête suivante :

 mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL; 

Contraintes en SQL

Pour vérifier que la contrainte non nulle est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

 mysql> DESC student; 

Contraintes en SQL

2. UNIQUE

  • Les valeurs en double ne sont pas autorisées dans les colonnes auxquelles la contrainte UNIQUE est appliquée.
  • La colonne avec la contrainte unique contiendra toujours une valeur unique.
  • Cette contrainte peut être appliquée à une ou plusieurs colonnes d'une table, ce qui signifie que plusieurs contraintes uniques peuvent exister sur une seule table.
  • Grâce à la contrainte UNIQUE, vous pouvez également modifier les tables déjà créées.

Syntaxe pour appliquer la contrainte UNIQUE sur une seule colonne :

 CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype); 

Exemple:

Créez une table étudiant et appliquez une contrainte UNIQUE sur l'une des colonnes de la table lors de la création d'une table.

 mysql> CREATE TABLE student(StudentID INT UNIQUE, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40)); 

Contraintes en SQL

Pour vérifier que la contrainte d'unicité est appliquée à la colonne de la table et que la table étudiant est créée avec succès, nous exécuterons la requête suivante :

 mysql> DESC student; 

Contraintes en SQL

Syntaxe pour appliquer la contrainte UNIQUE sur plusieurs colonnes :

classe vs objet en Java
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2)); 

Exemple:

Créez une table étudiante et appliquez une contrainte UNIQUE sur plusieurs colonnes de la table lors de la création d'une table.

 mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), UNIQUE(StudentID, Student_PhoneNumber)); 

Contraintes en SQL

Pour vérifier que la contrainte unique est appliquée à plusieurs colonnes de la table et que la table étudiant est créée avec succès, nous exécuterons la requête suivante :

 mysql> DESC student; 

Contraintes en SQL

Syntaxe pour appliquer la contrainte UNIQUE sur la colonne d'une table existante :

 ALTER TABLE TableName ADD UNIQUE (ColumnName); 

Exemple:

Considérons que nous avons une table étudiante existante, sans aucune contrainte qui lui est appliquée. Plus tard, nous avons décidé d'appliquer une contrainte UNIQUE à l'une des colonnes du tableau. Ensuite nous exécuterons la requête suivante :

 mysql> ALTER TABLE student ADD UNIQUE (StudentID); 

Contraintes en SQL

Pour vérifier que la contrainte d'unicité est appliquée à la colonne de la table et que la table étudiant est créée avec succès, nous exécuterons la requête suivante :

 mysql> DESC student; 

Contraintes en SQL

3. CLÉ PRIMAIRE

  • La contrainte PRIMARY KEY est une combinaison de contraintes NOT NULL et Unique.
  • La contrainte NOT NULL et une contrainte UNIQUE forment ensemble une contrainte PRIMARY.
  • La colonne à laquelle nous avons appliqué la contrainte principale contiendra toujours une valeur unique et n'autorisera pas les valeurs nulles.

Syntaxe de la contrainte de clé primaire lors de la création de la table :

 CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype); 

Exemple:

Créez une table étudiant et appliquez la contrainte PRIMARY KEY lors de la création d'une table.

 mysql> CREATE TABLE student(StudentID INT PRIMARY KEY, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40)); 

Contraintes en SQL

Pour vérifier que la contrainte de clé primaire est appliquée à la colonne de la table et que la table étudiant est créée avec succès, nous exécuterons la requête suivante :

 mysql> DESC student; 

Contraintes en SQL

Syntaxe pour appliquer la contrainte de clé primaire sur la colonne d'une table existante :

chaînes en c
 ALTER TABLE TableName ADD PRIMARY KEY (ColumnName); 

Exemple:

Considérons que nous avons une table étudiante existante, sans aucune contrainte qui lui est appliquée. Plus tard, nous avons décidé d'appliquer la contrainte PRIMARY KEY à la colonne de la table. Ensuite nous exécuterons la requête suivante :

 mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID); 

Contraintes en SQL

Pour vérifier que la contrainte de clé primaire est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

 mysql> DESC student; 

Contraintes en SQL

4. CLÉ ÉTRANGÈRE

  • Une clé étrangère est utilisée pour l’intégrité référentielle.
  • Lorsque nous avons deux tables et qu'une table prend la référence d'une autre table, c'est-à-dire que la même colonne est présente dans les deux tables et que cette colonne agit comme une clé primaire dans une table. Cette colonne particulière agira comme une clé étrangère dans une autre table.

Syntaxe pour appliquer une contrainte de clé étrangère lors de la création d'une table :

 CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName)); 

Exemple:

opérateur conditionnel en Java

Créez une table d'employés et appliquez la contrainte FOREIGN KEY lors de la création d'une table.

Pour créer une clé étrangère sur n’importe quelle table, nous devons d’abord créer une clé primaire sur une table.

 mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40)); 

Contraintes en SQL

Pour vérifier que la contrainte de clé primaire est appliquée à la colonne de la table employe, nous allons exécuter la requête suivante :

 mysql> DESC employee; 

Contraintes en SQL

Maintenant, nous allons écrire une requête pour appliquer une clé étrangère sur la table Department faisant référence à la clé primaire de la table Employee, c'est-à-dire Emp_ID.

 mysql> CREATE TABLE department(Dept_ID INT NOT NULL PRIMARY KEY, Dept_Name VARCHAR(40), Emp_ID INT NOT NULL, FOREIGN KEY(Emp_ID) REFERENCES employee(Emp_ID)); 

Contraintes en SQL

Pour vérifier que la contrainte de clé étrangère est appliquée à la colonne de la table département, nous allons exécuter la requête suivante :

 mysql> DESC department; 

Contraintes en SQL

Syntaxe pour appliquer la contrainte de clé étrangère avec le nom de la contrainte :

 CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName)); 

Exemple:

Créez une table d'employés et appliquez la contrainte FOREIGN KEY avec un nom de contrainte lors de la création d'une table.

Pour créer une clé étrangère sur n’importe quelle table, nous devons d’abord créer une clé primaire sur une table.

 mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40)); 

Contraintes en SQL

Pour vérifier que la contrainte de clé primaire est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

 mysql> DESC employee; 

Contraintes en SQL

Maintenant, nous allons écrire une requête pour appliquer une clé étrangère avec un nom de contrainte sur la table Department faisant référence à la clé primaire de la table Employee, c'est-à-dire Emp_ID.

 mysql> CREATE TABLE department(Dept_ID INT NOT NULL PRIMARY KEY, Dept_Name VARCHAR(40), Emp_ID INT NOT NULL, CONSTRAINT emp_id_fk FOREIGN KEY(Emp_ID) REFERENCES employee(Emp_ID)); 

Contraintes en SQL

Pour vérifier que la contrainte de clé étrangère est appliquée à la colonne de la table département, nous allons exécuter la requête suivante :

 mysql> DESC department; 

Contraintes en SQL

Syntaxe pour appliquer la contrainte de clé étrangère sur la colonne d'une table existante :

 ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName); 

Exemple:

Considérez que nous avons un employé de table et un service existants. Plus tard, nous avons décidé d'appliquer une contrainte FOREIGN KEY à la colonne de la table département. Ensuite nous exécuterons la requête suivante :

 mysql> DESC employee; 

Contraintes en SQL
 mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID); 

Contraintes en SQL

Pour vérifier que la contrainte de clé étrangère est appliquée à la colonne de la table département, nous allons exécuter la requête suivante :

 mysql> DESC department; 

Contraintes en SQL

5. VÉRIFIER

  • Chaque fois qu'une contrainte de vérification est appliquée à la colonne de la table et que l'utilisateur souhaite y insérer la valeur, la valeur sera d'abord vérifiée pour certaines conditions avant de l'insérer dans cette colonne.
  • Par exemple:si nous avons une colonne d'âge dans un tableau, alors l'utilisateur insérera n'importe quelle valeur de son choix. L'utilisateur entrera également même une valeur négative ou toute autre valeur invalide. Mais, si l'utilisateur a appliqué une contrainte de vérification sur la colonne d'âge avec la condition age supérieure à 18 ans. Dans de tels cas, même si un utilisateur tente d'insérer une valeur non valide telle que zéro ou toute autre valeur inférieure à 18, alors l'âge La colonne n'acceptera pas cette valeur et ne permettra pas à l'utilisateur de l'insérer en raison de l'application d'une contrainte de vérification sur la colonne âge.

Syntaxe pour appliquer une contrainte de vérification sur une seule colonne :

 CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype); 

Exemple:

Créez une table d'étudiant et appliquez la contrainte CHECK pour vérifier l'âge inférieur ou égal à 15 ans lors de la création d'une table.

 mysql&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT CHECK( Age <= 15)); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-26.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-27.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply check constraint on multiple columns:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),&#x2026;., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply CHECK constraint to check for the age less than or equal to 15 and a percentage greater than 85 while creating a table.</p> <pre> mysql&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT, Percentage INT, CHECK( Age 85)); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-28.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the age and percentage column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-29.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply check constraint on an existing table&apos;s column:</strong> </p> <pre> ALTER TABLE TableName ADD CHECK (ColumnName Condition); </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the CHECK constraint on the student table&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; ALTER TABLE student ADD CHECK ( Age <=15 ); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-30.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-31.webp" alt="Constraints in SQL"> <h3>6. DEFAULT</h3> <p>Whenever a default constraint is applied to the table&apos;s column, and the user has not specified the value to be inserted in it, then the default value which was specified while applying the default constraint will be inserted into that particular column.</p> <p> <strong>Syntax to apply default constraint during table creation:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,&#x2026;., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply the default constraint while creating a table.</p> <pre> mysql&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT &apos;[email protected]&apos;); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-32.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-33.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply default constraint on an existing table&apos;s column:</strong> </p> <pre> ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; ALTER TABLE student ALTER Student_Email_ID SET DEFAULT &apos;[email protected]&apos;; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-34.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-35.webp" alt="Constraints in SQL"> <h3>7. CREATE INDEX</h3> <p>CREATE INDEX constraint is used to create an index on the table. Indexes are not visible to the user, but they help the user to speed up the searching speed or retrieval of data from the database.</p> <p> <strong>Syntax to create an index on single column:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1); </pre> <p> <strong>Example:</strong> </p> <p>Create an index on the student table and apply the default constraint while creating a table.</p> <pre> mysql&gt; CREATE INDEX idx_StudentID ON student (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-36.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-37.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on multiple columns:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); </pre> <p> <strong>Example:</strong> </p> <pre> mysql&gt; CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-38.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-39.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on an existing table:</strong> </p> <pre> ALTER TABLE TableName ADD INDEX (ColumnName); </pre> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; ALTER TABLE student ADD INDEX (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-40.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15></pre></=>

Contraintes en SQL

Syntaxe pour appliquer une contrainte de vérification sur plusieurs colonnes :

 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),&#x2026;., ColumnNameN datatype); 

Exemple:

Créez une table d'étudiant et appliquez la contrainte CHECK pour vérifier l'âge inférieur ou égal à 15 et un pourcentage supérieur à 85 lors de la création d'une table.

systèmes experts
 mysql&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40), Age INT, Percentage INT, CHECK( Age 85)); 

Contraintes en SQL

Pour vérifier que la contrainte check est appliquée à la colonne age et pourcentage, nous allons exécuter la requête suivante :

 mysql&gt; DESC student; 

Contraintes en SQL

Syntaxe pour appliquer une contrainte de vérification sur la colonne d'une table existante :

 ALTER TABLE TableName ADD CHECK (ColumnName Condition); 

Exemple:

Considérez que nous avons un étudiant de table existant. Plus tard, nous avons décidé d'appliquer la contrainte CHECK sur la colonne de la table student. Ensuite nous exécuterons la requête suivante :

 mysql&gt; ALTER TABLE student ADD CHECK ( Age <=15 ); < pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-30.webp" alt="Constraints in SQL"> <p>To verify that the check constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-31.webp" alt="Constraints in SQL"> <h3>6. DEFAULT</h3> <p>Whenever a default constraint is applied to the table&apos;s column, and the user has not specified the value to be inserted in it, then the default value which was specified while applying the default constraint will be inserted into that particular column.</p> <p> <strong>Syntax to apply default constraint during table creation:</strong> </p> <pre> CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,&#x2026;., ColumnNameN datatype); </pre> <p> <strong>Example:</strong> </p> <p>Create a student table and apply the default constraint while creating a table.</p> <pre> mysql&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT &apos;[email protected]&apos;); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-32.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-33.webp" alt="Constraints in SQL"> <p> <strong>Syntax to apply default constraint on an existing table&apos;s column:</strong> </p> <pre> ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; </pre> <p> <strong>Example:</strong> </p> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; ALTER TABLE student ALTER Student_Email_ID SET DEFAULT &apos;[email protected]&apos;; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-34.webp" alt="Constraints in SQL"> <p>To verify that the default constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-35.webp" alt="Constraints in SQL"> <h3>7. CREATE INDEX</h3> <p>CREATE INDEX constraint is used to create an index on the table. Indexes are not visible to the user, but they help the user to speed up the searching speed or retrieval of data from the database.</p> <p> <strong>Syntax to create an index on single column:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1); </pre> <p> <strong>Example:</strong> </p> <p>Create an index on the student table and apply the default constraint while creating a table.</p> <pre> mysql&gt; CREATE INDEX idx_StudentID ON student (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-36.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-37.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on multiple columns:</strong> </p> <pre> CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); </pre> <p> <strong>Example:</strong> </p> <pre> mysql&gt; CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-38.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-39.webp" alt="Constraints in SQL"> <p> <strong>Syntax to create an index on an existing table:</strong> </p> <pre> ALTER TABLE TableName ADD INDEX (ColumnName); </pre> <p>Consider we have an existing table student. Later, we decided to apply the DEFAULT constraint on the student table&apos;s column. Then we will execute the following query:</p> <pre> mysql&gt; ALTER TABLE student ADD INDEX (StudentID); </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-40.webp" alt="Constraints in SQL"> <p>To verify that the create index constraint is applied to the student table&apos;s column, we will execute the following query:</p> <pre> mysql&gt; DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15>

Contraintes en SQL

6. PAR DÉFAUT

Chaque fois qu'une contrainte par défaut est appliquée à la colonne de la table et que l'utilisateur n'a pas spécifié la valeur à y insérer, la valeur par défaut qui a été spécifiée lors de l'application de la contrainte par défaut sera insérée dans cette colonne particulière.

Syntaxe pour appliquer la contrainte par défaut lors de la création de la table :

 CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,&#x2026;., ColumnNameN datatype); 

Exemple:

Créez une table d'étudiant et appliquez la contrainte par défaut lors de la création d'une table.

 mysql&gt; CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT &apos;[email protected]&apos;); 

Contraintes en SQL

Pour vérifier que la contrainte par défaut est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

 mysql&gt; DESC student; 

Contraintes en SQL

Syntaxe pour appliquer une contrainte par défaut sur la colonne d'une table existante :

 ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; 

Exemple:

Considérez que nous avons un étudiant de table existant. Plus tard, nous avons décidé d'appliquer la contrainte DEFAULT sur la colonne de la table étudiant. Ensuite nous exécuterons la requête suivante :

 mysql&gt; ALTER TABLE student ALTER Student_Email_ID SET DEFAULT &apos;[email protected]&apos;; 

Contraintes en SQL

Pour vérifier que la contrainte par défaut est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

 mysql&gt; DESC student; 

Contraintes en SQL

7. CRÉER UN INDICE

La contrainte CREATE INDEX est utilisée pour créer un index sur la table. Les index ne sont pas visibles par l'utilisateur, mais ils l'aident à accélérer la vitesse de recherche ou de récupération des données de la base de données.

Syntaxe pour créer un index sur une seule colonne :

 CREATE INDEX IndexName ON TableName (ColumnName 1); 

Exemple:

Créez un index sur la table étudiant et appliquez la contrainte par défaut lors de la création d'une table.

 mysql&gt; CREATE INDEX idx_StudentID ON student (StudentID); 

Contraintes en SQL

Pour vérifier que la contrainte de création d'index est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

 mysql&gt; DESC student; 

Contraintes en SQL

Syntaxe pour créer un index sur plusieurs colonnes :

 CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N); 

Exemple:

 mysql&gt; CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber); 

Contraintes en SQL

Pour vérifier que la contrainte de création d'index est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

dactylographié pour chacun
 mysql&gt; DESC student; 

Contraintes en SQL

Syntaxe pour créer un index sur une table existante :

 ALTER TABLE TableName ADD INDEX (ColumnName); 

Considérez que nous avons un étudiant de table existant. Plus tard, nous avons décidé d'appliquer la contrainte DEFAULT sur la colonne de la table étudiant. Ensuite nous exécuterons la requête suivante :

 mysql&gt; ALTER TABLE student ADD INDEX (StudentID); 

Contraintes en SQL

Pour vérifier que la contrainte de création d'index est appliquée à la colonne de la table étudiant, nous allons exécuter la requête suivante :

 mysql&gt; DESC student; 

Contraintes en SQL