Constrângerile din SQL înseamnă că aplicăm anumite condiții sau restricții asupra bazei de date. Aceasta înseamnă că înainte de a introduce date în baza de date, verificăm anumite condiții. Dacă condiția pe care am aplicat-o bazei de date este valabilă pentru datele care urmează să fie inserate, atunci numai datele vor fi inserate în tabelele bazei de date.
Constrângerile din SQL pot fi clasificate în două tipuri:
Column Level Constraint este folosit pentru a aplica o constrângere pe o singură coloană.
Constrângerea la nivel de tabel este utilizată pentru a aplica o constrângere pe mai multe coloane.
Unele dintre exemplele din viața reală de constrângeri sunt următoarele:
- Fiecare persoană are un ID unic de e-mail. Acest lucru se datorează faptului că, în timp ce creează un cont de e-mail pentru orice utilizator, serviciile de e-mail care furnizează servicii precum Gmail, Yahoo sau orice alt serviciu de e-mail vor verifica întotdeauna disponibilitatea ID-ului de e-mail pe care utilizatorul îl dorește pentru el însuși. Dacă un alt utilizator preia deja ID-ul de e-mail pe care îl dorește utilizatorul, atunci acel ID nu poate fi atribuit altui utilizator. Acest lucru înseamnă pur și simplu că doi utilizatori nu pot avea aceleași ID-uri de e-mail pe același serviciu de furnizare de e-mail. Deci, aici ID-ul de e-mail este constrângerea în baza de date a serviciilor de furnizare de e-mail.
- Ori de câte ori setăm o parolă pentru orice sistem, există anumite constrângeri care trebuie respectate. Aceste constrângeri pot include următoarele:
- Trebuie să existe un caracter majuscul în parolă.
- Parola trebuie să aibă cel puțin opt caractere.
- Parola trebuie să conțină cel puțin un simbol special.
Constrângerile disponibile în SQL sunt:
- NU NUL
- UNIC
- CHEIA PRINCIPALA
- CHEIE EXTERNĂ
- VERIFICA
- MOD IMPLICIT
- CREAȚI INDEX
Acum să încercăm să înțelegem diferitele constrângeri disponibile în SQL mai detaliat cu ajutorul exemplelor. Vom folosi baza de date MySQL pentru a scrie toate interogările.
1. NU NUL
- NULL înseamnă gol, adică valoarea nu este disponibilă.
- Ori de câte ori coloana unui tabel este declarată ca NOT NULL, atunci valoarea pentru acea coloană nu poate fi goală pentru niciuna dintre înregistrările tabelului.
- Trebuie să existe o valoare în coloana căreia i se aplică constrângerea NOT NULL.
NOTĂ: NULL nu înseamnă zero. NULL înseamnă coloană goală, nici măcar zero.
Sintaxă pentru aplicarea constrângerii NOT NULL în timpul creării tabelului:
CREATE TABLE TableName (ColumnName1 datatype NOT NULL, ColumnName2 datatype,…., ColumnNameN datatype);
Exemplu:
Creați un tabel student și aplicați o constrângere NOT NULL pe una dintre coloanele tabelului în timp ce creați un tabel.
CREATE TABLE student(StudentID INT NOT NULL, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
Pentru a verifica dacă constrângerea nu nulă este aplicată coloanei tabelului și tabelul student este creat cu succes, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru aplicarea constrângerii NOT NULL pe coloana unui tabel existent:
ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL;
Exemplu:
Luați în considerare că avem un student de tabel existent, fără constrângeri aplicate acestuia. Mai târziu, am decis să aplicăm o constrângere NOT NULL uneia dintre coloanele tabelului. Apoi vom executa următoarea interogare:
mysql> ALTER TABLE student CHANGE StudentID StudentID INT NOT NULL;
Pentru a verifica dacă constrângerea nu nulă este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC student;
2. UNIC
- Valorile duplicate nu sunt permise în coloanele cărora li se aplică constrângerea UNIQUE.
- Coloana cu constrângerea unică va conține întotdeauna o valoare unică.
- Această constrângere poate fi aplicată uneia sau mai multor coloane dintr-un tabel, ceea ce înseamnă că pot exista mai multe constrângeri unice pe un singur tabel.
- Folosind constrângerea UNIQUE, puteți modifica și tabelele deja create.
Sintaxă pentru aplicarea constrângerii UNIQUE pe o singură coloană:
CREATE TABLE TableName (ColumnName1 datatype UNIQUE, ColumnName2 datatype,…., ColumnNameN datatype);
Exemplu:
Creați un tabel student și aplicați o constrângere UNIQUE pe una dintre coloanele tabelului în timp ce creați un tabel.
mysql> CREATE TABLE student(StudentID INT UNIQUE, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40));
Pentru a verifica dacă constrângerea unică este aplicată coloanei tabelului și tabelul student este creat cu succes, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru aplicarea constrângerii UNIQUE pe mai multe coloane:
cum se returnează o matrice java
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2));
Exemplu:
Creați un tabel student și aplicați o constrângere UNIQUE pe mai multe coloane ale tabelului în timp ce creați un tabel.
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));
Pentru a verifica dacă constrângerea unică este aplicată mai multor coloane din tabel și că tabelul student este creat cu succes, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru aplicarea constrângerii UNIQUE pe coloana unui tabel existent:
ALTER TABLE TableName ADD UNIQUE (ColumnName);
Exemplu:
Luați în considerare că avem un student de tabel existent, fără constrângeri aplicate acestuia. Mai târziu, am decis să aplicăm o constrângere UNIQUE uneia dintre coloanele tabelului. Apoi vom executa următoarea interogare:
mysql> ALTER TABLE student ADD UNIQUE (StudentID);
Pentru a verifica dacă constrângerea unică este aplicată coloanei tabelului și tabelul student este creat cu succes, vom executa următoarea interogare:
amestec omogen
mysql> DESC student;
3. CHEIA PRIMARĂ
- Constrângerea PRIMARY KEY este o combinație de constrângeri NOT NULL și Unique.
- Constrângerea NOT NULL și o constrângere UNIQUE formează împreună o constrângere PRIMARY.
- Coloana căreia i-am aplicat constrângerea primară va conține întotdeauna o valoare unică și nu va permite valori nule.
Sintaxa constrângerii cheii primare în timpul creării tabelului:
CREATE TABLE TableName (ColumnName1 datatype PRIMARY KEY, ColumnName2 datatype,…., ColumnNameN datatype);
Exemplu:
Creați un tabel student și aplicați constrângerea PRIMARY KEY în timp ce creați un tabel.
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));
Pentru a verifica dacă constrângerea cheii primare este aplicată coloanei tabelului și tabelul student este creat cu succes, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru aplicarea constrângerii cheii primare pe coloana unui tabel existent:
ALTER TABLE TableName ADD PRIMARY KEY (ColumnName);
Exemplu:
Luați în considerare că avem un student de tabel existent, fără constrângeri aplicate acestuia. Mai târziu, am decis să aplicăm constrângerea PRIMARY KEY la coloana tabelului. Apoi vom executa următoarea interogare:
mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID);
Pentru a verifica dacă constrângerea cheii primare este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC student;
4. CHEIE STRĂINĂ
- O cheie străină este utilizată pentru integritatea referenţială.
- Când avem două tabele și un tabel ia referință dintr-un alt tabel, adică aceeași coloană este prezentă în ambele tabele și acea coloană acționează ca o cheie primară într-un tabel. Acea coloană particulară va acționa ca o cheie străină într-un alt tabel.
Sintaxă pentru aplicarea unei constrângeri de cheie străină în timpul creării tabelului:
CREATE TABLE tablename(ColumnName1 Datatype(SIZE) PRIMARY KEY, ColumnNameN Datatype(SIZE), FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Exemplu:
rekha indian
Creați un tabel de angajați și aplicați constrângerea FOREIGN KEY în timp ce creați un tabel.
Pentru a crea o cheie străină pe orice tabel, mai întâi, trebuie să creăm o cheie primară pe un tabel.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Pentru a verifica dacă constrângerea cheii primare este aplicată coloanei tabelului angajat, vom executa următoarea interogare:
mysql> DESC employee;
Acum, vom scrie o interogare pentru a aplica o cheie străină pe tabelul departamentului, care se referă la cheia primară a tabelului angajat, adică 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));
Pentru a verifica dacă constrângerea cheii externe este aplicată coloanei tabelului departamentului, vom executa următoarea interogare:
mysql> DESC department;
Sintaxă pentru aplicarea constrângerii cheii străine cu numele constrângerii:
CREATE TABLE tablename(ColumnName1 Datatype PRIMARY KEY, ColumnNameN Datatype(SIZE), CONSTRAINT ConstraintName FOREIGN KEY( ColumnName ) REFERENCES PARENT_TABLE_NAME(Primary_Key_ColumnName));
Exemplu:
Creați un tabel de angajați și aplicați constrângerea FOREIGN KEY cu un nume de constrângere în timp ce creați un tabel.
Pentru a crea o cheie străină pe orice tabel, mai întâi, trebuie să creăm o cheie primară pe un tabel.
mysql> CREATE TABLE employee (Emp_ID INT NOT NULL PRIMARY KEY, Emp_Name VARCHAR (40), Emp_Salary VARCHAR (40));
Pentru a verifica dacă constrângerea cheii primare este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC employee;
Acum, vom scrie o interogare pentru a aplica o cheie străină cu un nume de constrângere pe tabelul departamentului care se referă la cheia primară a tabelului angajat, adică 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));
Pentru a verifica dacă constrângerea cheii externe este aplicată coloanei tabelului departamentului, vom executa următoarea interogare:
mysql> DESC department;
Sintaxă pentru aplicarea constrângerii cheii externe pe coloana unui tabel existent:
ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName);
Exemplu:
Luați în considerare că avem un angajat de masă și un departament existent. Ulterior, am decis să aplicăm o constrângere FOREIGN KEY la coloana tabelului departamentului. Apoi vom executa următoarea interogare:
mysql> DESC employee;
mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID);
Pentru a verifica dacă constrângerea cheii externe este aplicată coloanei tabelului departamentului, vom executa următoarea interogare:
mysql> DESC department;
5. VERIFICARE
- Ori de câte ori o constrângere de verificare este aplicată coloanei tabelului și utilizatorul dorește să insereze valoarea în ea, atunci valoarea va fi mai întâi verificată pentru anumite condiții înainte de a introduce valoarea în acea coloană.
Sintaxă pentru aplicarea constrângerii de verificare pe o singură coloană:
CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype);
Exemplu:
Creați un tabel student și aplicați constrângerea CHECK pentru a verifica vârsta mai mică sau egală cu 15 ani în timp ce creați un tabel.
mysql> 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's column, we will execute the following query:</p> <pre> mysql> 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),…., 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> 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> 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'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's column. Then we will execute the following query:</p> <pre> mysql> 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's column, we will execute the following query:</p> <pre> mysql> 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'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,…., 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> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]'); </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's column, we will execute the following query:</p> <pre> mysql> 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'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's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]'; </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's column, we will execute the following query:</p> <pre> mysql> 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> 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's column, we will execute the following query:</p> <pre> mysql> 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> 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's column, we will execute the following query:</p> <pre> mysql> 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's column. Then we will execute the following query:</p> <pre> mysql> 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's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15></pre></=>
Sintaxă pentru aplicarea constrângerii de verificare pe mai multe coloane:
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype);
Exemplu:
Creați un tabel student și aplicați constrângerea CHECK pentru a verifica vârsta mai mică sau egală cu 15 și un procent mai mare de 85 în timpul creării unui tabel.
mysql> 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));
Pentru a verifica dacă constrângerea de verificare este aplicată coloanei de vârstă și procent, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru aplicarea constrângerii de verificare pe coloana unui tabel existent:
ALTER TABLE TableName ADD CHECK (ColumnName Condition);
Exemplu:
Luați în considerare că avem un student de masă existent. Ulterior, am decis să aplicăm constrângerea CHECK pe coloana tabelului student. Apoi vom executa următoarea interogare:
mysql> 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's column, we will execute the following query:</p> <pre> mysql> 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'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,…., 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> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]'); </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's column, we will execute the following query:</p> <pre> mysql> 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'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's column. Then we will execute the following query:</p> <pre> mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]'; </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's column, we will execute the following query:</p> <pre> mysql> 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> 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's column, we will execute the following query:</p> <pre> mysql> 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> 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's column, we will execute the following query:</p> <pre> mysql> 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's column. Then we will execute the following query:</p> <pre> mysql> 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's column, we will execute the following query:</p> <pre> mysql> DESC student; </pre> <br> <img src="//techcodeview.com/img/sql-tutorial/65/constraints-sql-41.webp" alt="Constraints in SQL"> <hr></=15>
6. IMPLICIT
Ori de câte ori o constrângere implicită este aplicată coloanei tabelului, iar utilizatorul nu a specificat valoarea care trebuie inserată în ea, atunci valoarea implicită care a fost specificată în timpul aplicării constrângerii implicite va fi inserată în acea coloană specială.
mergesort java
Sintaxă pentru aplicarea constrângerii implicite în timpul creării tabelului:
CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype);
Exemplu:
Creați un tabel student și aplicați constrângerea implicită în timp ce creați un tabel.
mysql> CREATE TABLE student(StudentID INT, Student_FirstName VARCHAR(20), Student_LastName VARCHAR(20), Student_PhoneNumber VARCHAR(20), Student_Email_ID VARCHAR(40) DEFAULT '[email protected]');
Pentru a verifica dacă constrângerea implicită este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru aplicarea constrângerii implicite pe coloana unui tabel existent:
ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value;
Exemplu:
model de design singleton java
Luați în considerare că avem un student de masă existent. Ulterior, am decis să aplicăm constrângerea DEFAULT pe coloana tabelului student. Apoi vom executa următoarea interogare:
mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]';
Pentru a verifica dacă constrângerea implicită este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC student;
7. CREAȚI INDEX
Constrângerea CREATE INDEX este folosită pentru a crea un index pe tabel. Indecșii nu sunt vizibili pentru utilizator, dar îl ajută pe utilizator să accelereze viteza de căutare sau de preluare a datelor din baza de date.
Sintaxă pentru a crea un index pe o singură coloană:
CREATE INDEX IndexName ON TableName (ColumnName 1);
Exemplu:
Creați un index pe tabelul student și aplicați constrângerea implicită în timp ce creați un tabel.
mysql> CREATE INDEX idx_StudentID ON student (StudentID);
Pentru a verifica dacă constrângerea de creare a indexului este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru a crea un index pe mai multe coloane:
CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N);
Exemplu:
mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber);
Pentru a verifica dacă constrângerea de creare a indexului este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC student;
Sintaxă pentru a crea un index pe un tabel existent:
ALTER TABLE TableName ADD INDEX (ColumnName);
Luați în considerare că avem un student de masă existent. Ulterior, am decis să aplicăm constrângerea DEFAULT pe coloana tabelului student. Apoi vom executa următoarea interogare:
mysql> ALTER TABLE student ADD INDEX (StudentID);
Pentru a verifica dacă constrângerea de creare a indexului este aplicată coloanei tabelului student, vom executa următoarea interogare:
mysql> DESC student;
=15>=>