logo

Restriccions en SQL

Les restriccions en SQL significa que estem aplicant determinades condicions o restriccions a la base de dades. Això vol dir, a més, que abans d'inserir dades a la base de dades, estem comprovant algunes condicions. Si la condició que hem aplicat a la base de dades és certa per a les dades que s'han d'inserir, només s'inseriran les dades a les taules de la base de dades.

Les restriccions en SQL es poden classificar en dos tipus:

    Restricció de nivell de columna:
    La restricció de nivell de columna s'utilitza per aplicar una restricció a una sola columna.Restricció de nivell de taula:
    La restricció de nivell de taula s'utilitza per aplicar una restricció a diverses columnes.

Alguns dels exemples de la vida real de restriccions són els següents:

  1. Cada persona té un identificador de correu electrònic únic. Això es deu al fet que mentre es crea un compte de correu electrònic per a qualsevol usuari, el correu electrònic que ofereix serveis com Gmail, Yahoo o qualsevol altre servei de correu electrònic sempre comprovarà la disponibilitat de l'identificador de correu electrònic que l'usuari vol per a si mateix. Si algun altre usuari ja pren l'identificador de correu electrònic que l'usuari vol, aquest identificador no es pot assignar a un altre usuari. Això simplement vol dir que no hi ha dos usuaris que tinguin els mateixos identificadors de correu electrònic al mateix servei de subministrament de correu electrònic. Per tant, aquí l'identificador de correu electrònic és la limitació de la base de dades de serveis de correu electrònic.
  2. Sempre que establim una contrasenya per a qualsevol sistema, hi ha certes limitacions que s'han de seguir. Aquestes limitacions poden incloure les següents:
    • Hi ha d'haver un caràcter en majúscula a la contrasenya.
    • La contrasenya ha de tenir almenys vuit caràcters.
    • La contrasenya ha de contenir almenys un símbol especial.

Les restriccions disponibles en SQL són:

  1. NO NULL
  2. ÚNIC
  3. CLAU PRIMÀRIA
  4. CLAU ESTRANGERA
  5. CONSULTAR
  6. PER Defecte
  7. CREAR ÍNDEX

Ara intentem entendre les diferents restriccions disponibles a SQL amb més detall amb l'ajuda d'exemples. Utilitzarem la base de dades MySQL per escriure totes les consultes.

1. NO NUL

  • NULL significa buit, és a dir, el valor no està disponible.
  • Sempre que la columna d'una taula es declara NO NULL, el valor d'aquesta columna no pot estar buit per a cap dels registres de la taula.
  • Hi ha d'haver un valor a la columna al qual s'aplica la restricció NOT NULL.

NOTA: NULL no vol dir zero. NULL significa columna buida, ni tan sols zero.

Sintaxi per aplicar la restricció NOT NULL durant la creació de la taula:

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

Exemple:

Creeu una taula d'estudiant i apliqueu una restricció NOT NULL a una de les columnes de la taula mentre creeu una taula.

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

Restriccions en SQL

Per verificar que la restricció no nul·la s'aplica a la columna de la taula i que la taula d'estudiant s'ha creat correctament, executarem la consulta següent:

 mysql> DESC student; 

Restriccions en SQL

Sintaxi per aplicar la restricció NOT NULL a la columna d'una taula existent:

 ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL; 

Exemple:

Penseu que tenim un estudiant de taula existent, sense cap restricció aplicada. Més tard, vam decidir aplicar una restricció NOT NULL a una de les columnes de la taula. A continuació, executarem la següent consulta:

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

Restriccions en SQL

Per verificar que la restricció no nul·la s'aplica a la columna de la taula d'estudiant, executarem la consulta següent:

 mysql> DESC student; 

Restriccions en SQL

2. ÚNIC

  • No es permeten valors duplicats a les columnes a les quals s'aplica la restricció UNIQUE.
  • La columna amb la restricció única sempre contindrà un valor únic.
  • Aquesta restricció es pot aplicar a una o més d'una columna d'una taula, el que significa que pot existir més d'una restricció única en una sola taula.
  • Utilitzant la restricció UNIQUE, també podeu modificar les taules ja creades.

Sintaxi per aplicar la restricció UNIQUE en una sola columna:

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

Exemple:

Creeu una taula d'estudiant i apliqueu una restricció ÚNICA a una de les columnes de la taula mentre creeu una taula.

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

Restriccions en SQL

Per verificar que la restricció única s'aplica a la columna de la taula i que la taula d'estudiant s'ha creat correctament, executarem la consulta següent:

 mysql> DESC student; 

Restriccions en SQL

Sintaxi per aplicar la restricció UNIQUE a més d'una columna:

matriu de retorn de java
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2)); 

Exemple:

Creeu una taula d'estudiant i apliqueu una restricció ÚNICA a més d'una columna de taula mentre creeu una taula.

 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)); 

Restriccions en SQL

Per verificar que la restricció única s'aplica a més d'una columna de la taula i que la taula d'estudiant s'ha creat correctament, executarem la consulta següent:

 mysql> DESC student; 

Restriccions en SQL

Sintaxi per aplicar la restricció UNIQUE a la columna d'una taula existent:

 ALTER TABLE TableName ADD UNIQUE (ColumnName); 

Exemple:

bfs vs dfs

Penseu que tenim un estudiant de taula existent, sense cap restricció aplicada. Més tard, vam decidir aplicar una restricció ÚNICA a una de les columnes de la taula. A continuació, executarem la següent consulta:

 mysql> ALTER TABLE student ADD UNIQUE (StudentID); 

Restriccions en SQL

Per verificar que la restricció única s'aplica a la columna de la taula i que la taula d'estudiant s'ha creat correctament, executarem la consulta següent:

 mysql> DESC student; 

Restriccions en SQL

3. CLAU PRIMÀRIA

  • La restricció PRIMARY KEY és una combinació de les restriccions NOT NULL i Unique.
  • La restricció NOT NULL i una restricció UNIQUE formen conjuntament una restricció PRIMÀRIA.
  • La columna a la qual hem aplicat la restricció principal sempre contindrà un valor únic i no permetrà valors nuls.

Sintaxi de la restricció de clau primària durant la creació de la taula:

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

Exemple:

Creeu una taula d'estudiant i apliqueu la restricció PRIMARY KEY mentre creeu una taula.

 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)); 

Restriccions en SQL

Per verificar que la restricció de clau primària s'aplica a la columna de la taula i que la taula d'estudiant s'ha creat correctament, executarem la consulta següent:

 mysql> DESC student; 

Restriccions en SQL

Sintaxi per aplicar la restricció de clau primària a la columna d'una taula existent:

 ALTER TABLE TableName ADD PRIMARY KEY (ColumnName); 

Exemple:

Penseu que tenim un estudiant de taula existent, sense cap restricció aplicada. Més tard, vam decidir aplicar la restricció PRIMARY KEY a la columna de la taula. A continuació, executarem la següent consulta:

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

Restriccions en SQL

Per verificar que la restricció de clau primària s'aplica a la columna de la taula d'estudiant, executarem la consulta següent:

 mysql> DESC student; 

Restriccions en SQL

4. CLAU EXTRANJERA

  • S'utilitza una clau estrangera per a la integritat referencial.
  • Quan tenim dues taules i una taula pren referència d'una altra taula, és a dir, la mateixa columna està present a les dues taules i aquesta columna actua com a clau primària en una taula. Aquesta columna en particular actuarà com a clau estrangera en una altra taula.

Sintaxi per aplicar una restricció de clau estrangera durant la creació de la taula:

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

Exemple:

Creeu una taula d'empleats i apliqueu la restricció FOREIGN KEY mentre creeu una taula.

Per crear una clau estrangera a qualsevol taula, primer, hem de crear una clau primària en una taula.

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

Restriccions en SQL

Per verificar que la restricció de clau primària s'aplica a la columna de la taula d'empleats, executarem la consulta següent:

 mysql> DESC employee; 

Restriccions en SQL

Ara, escriurem una consulta per aplicar una clau estrangera a la taula del departament fent referència a la clau primària de la taula dels empleats, és a dir, 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)); 

Restriccions en SQL

Per verificar que la restricció de clau estrangera s'aplica a la columna de la taula de departaments, executarem la consulta següent:

 mysql> DESC department; 

Restriccions en SQL

Sintaxi per aplicar la restricció de clau estrangera amb nom de restricció:

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

Exemple:

Creeu una taula d'empleats i apliqueu la restricció FOREIGN KEY amb un nom de restricció mentre creeu una taula.

Per crear una clau estrangera a qualsevol taula, primer, hem de crear una clau primària en una taula.

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

Restriccions en SQL

Per verificar que la restricció de clau primària s'aplica a la columna de la taula d'estudiant, executarem la consulta següent:

 mysql> DESC employee; 

Restriccions en SQL

Ara, escriurem una consulta per aplicar una clau estrangera amb un nom de restricció a la taula de departament que fa referència a la clau primària de la taula dels empleats, és a dir, 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)); 

Restriccions en SQL

Per verificar que la restricció de clau estrangera s'aplica a la columna de la taula de departaments, executarem la consulta següent:

.04 com a fracció
 mysql> DESC department; 

Restriccions en SQL

Sintaxi per aplicar la restricció de clau estrangera a la columna d'una taula existent:

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

Exemple:

Penseu que tenim un empleat i un departament de taula existents. Més tard, vam decidir aplicar una restricció FOREIGN KEY a la columna de la taula del departament. A continuació, executarem la següent consulta:

 mysql> DESC employee; 

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

Restriccions en SQL

Per verificar que la restricció de clau estrangera s'aplica a la columna de la taula de departaments, executarem la consulta següent:

 mysql> DESC department; 

Restriccions en SQL

5. VERIFICAR

  • Sempre que s'apliqui una restricció de verificació a la columna de la taula i l'usuari vulgui inserir-hi el valor, primer es comprovarà el valor per a determinades condicions abans d'inserir el valor a aquesta columna.
  • Per exemple:si tenim una columna d'edat en una taula, l'usuari inserirà qualsevol valor que vulgui. L'usuari també introduirà fins i tot un valor negatiu o qualsevol altre valor no vàlid. Però, si l'usuari ha aplicat una restricció de verificació a la columna d'edat amb la condició d'edat superior a 18 anys. Aleshores, en aquests casos, fins i tot si un usuari intenta inserir un valor no vàlid com ara zero o qualsevol altre valor inferior a 18, llavors l'edat La columna no acceptarà aquest valor i no permetrà que l'usuari l'insereixi a causa de l'aplicació de la restricció de verificació a la columna d'edat.

Sintaxi per aplicar la restricció de verificació en una sola columna:

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

Exemple:

Creeu una taula d'estudiants i apliqueu la restricció CHECK per comprovar l'edat inferior o igual a 15 anys mentre creeu una taula.

 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></=>

Restriccions en SQL

Sintaxi per aplicar la restricció de verificació a diverses columnes:

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

Exemple:

Creeu una taula d'estudiant i apliqueu la restricció CHECK per comprovar l'edat inferior o igual a 15 anys i un percentatge superior a 85 mentre creeu una taula.

 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)); 

Restriccions en SQL

Per verificar que la restricció de comprovació s'aplica a la columna d'edat i percentatge, executarem la consulta següent:

 mysql&gt; DESC student; 

Restriccions en SQL

Sintaxi per aplicar la restricció de verificació a la columna d'una taula existent:

 ALTER TABLE TableName ADD CHECK (ColumnName Condition); 

Exemple:

Penseu que tenim un estudiant de taula existent. Més tard, vam decidir aplicar la restricció CHECK a la columna de la taula de l'estudiant. A continuació, executarem la següent consulta:

tipus de dades primitius en java
 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>

Restriccions en SQL

6. PER Defecte

Sempre que s'aplica una restricció per defecte a la columna de la taula i l'usuari no ha especificat el valor que s'hi ha d'inserir, el valor per defecte que s'ha especificat mentre s'aplica la restricció per defecte s'insereix a aquesta columna en particular.

Sintaxi per aplicar la restricció predeterminada durant la creació de la taula:

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

Exemple:

Creeu una taula d'estudiant i apliqueu la restricció predeterminada mentre creeu una taula.

 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;); 

Restriccions en SQL

Per verificar que la restricció predeterminada s'aplica a la columna de la taula d'estudiant, executarem la consulta següent:

 mysql&gt; DESC student; 

Restriccions en SQL

Sintaxi per aplicar la restricció predeterminada a la columna d'una taula existent:

canviar el nom d'una carpeta linux
 ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; 

Exemple:

Penseu que tenim un estudiant de taula existent. Més tard, vam decidir aplicar la restricció DEFAULT a la columna de la taula de l'estudiant. A continuació, executarem la següent consulta:

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

Restriccions en SQL

Per verificar que la restricció predeterminada s'aplica a la columna de la taula d'estudiant, executarem la consulta següent:

 mysql&gt; DESC student; 

Restriccions en SQL

7. CREAR ÍNDEX

La restricció CREATE INDEX s'utilitza per crear un índex a la taula. Els índexs no són visibles per l'usuari, però l'ajuden a accelerar la velocitat de cerca o la recuperació de dades de la base de dades.

Sintaxi per crear un índex en una sola columna:

 CREATE INDEX IndexName ON TableName (ColumnName 1); 

Exemple:

Creeu un índex a la taula de l'estudiant i apliqueu la restricció predeterminada mentre creeu una taula.

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

Restriccions en SQL

Per verificar que la restricció de creació d'índex s'aplica a la columna de la taula de l'estudiant, executarem la consulta següent:

 mysql&gt; DESC student; 

Restriccions en SQL

Sintaxi per crear un índex en diverses columnes:

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

Exemple:

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

Restriccions en SQL

Per verificar que la restricció de creació d'índex s'aplica a la columna de la taula de l'estudiant, executarem la consulta següent:

 mysql&gt; DESC student; 

Restriccions en SQL

Sintaxi per crear un índex en una taula existent:

 ALTER TABLE TableName ADD INDEX (ColumnName); 

Penseu que tenim un estudiant de taula existent. Més tard, vam decidir aplicar la restricció DEFAULT a la columna de la taula de l'estudiant. A continuació, executarem la següent consulta:

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

Restriccions en SQL

Per verificar que la restricció de creació d'índex s'aplica a la columna de la taula de l'estudiant, executarem la consulta següent:

 mysql&gt; DESC student; 

Restriccions en SQL