logo

Ограничения в SQL

Ограниченията в SQL означават, че прилагаме определени условия или ограничения върху базата данни. Това допълнително означава, че преди да вмъкнем данни в базата данни, ние проверяваме за някои условия. Ако условието, което сме приложили към базата данни, е вярно за данните, които трябва да бъдат вмъкнати, тогава само данните ще бъдат вмъкнати в таблиците на базата данни.

Ограниченията в SQL могат да бъдат категоризирани в два типа:

    Ограничение на ниво колона:
    Column Level Constraint се използва за прилагане на ограничение върху една колона.Ограничение на нивото на таблицата:
    Ограничението на ниво таблица се използва за прилагане на ограничение върху множество колони.

Някои от реалните примери за ограничения са следните:

  1. Всеки човек има уникален имейл адрес. Това е така, защото докато създавате имейл акаунт за който и да е потребител, услугите, предоставящи имейл, като Gmail, Yahoo или всяка друга услуга, предоставяща имейл, винаги ще проверяват за наличността на имейл идентификатора, който потребителят иска за себе си. Ако някой друг потребител вече вземе имейл идентификатора, който потребителят иска, тогава този идентификатор не може да бъде присвоен на друг потребител. Това просто означава, че двама потребители не могат да имат еднакви имейл идентификатори в една и съща услуга за предоставяне на имейл. И така, тук имейл идентификаторът е ограничението върху базата данни за услуги, предоставящи имейл.
  2. Всеки път, когато задаваме парола за която и да е система, има определени ограничения, които трябва да се спазват. Тези ограничения могат да включват следното:
    • В паролата трябва да има една главна буква.
    • Паролата трябва да е с дължина поне осем знака.
    • Паролата трябва да съдържа поне един специален символ.

Наличните ограничения в SQL са:

  1. НЕ НУЛЕВ
  2. ЕДИНСТВЕН ПО РОДА СИ
  3. ПЪРВИЧЕН КЛЮЧ
  4. ВЪНШЕН КЛЮЧ
  5. ПРОВЕРКА
  6. ПО ПОДРАЗБИРАНЕ
  7. СЪЗДАВАНЕ НА ИНДЕКС

Сега нека се опитаме да разберем различните ограничения, налични в SQL, по-подробно с помощта на примери. Ще използваме MySQL база данни за писане на всички заявки.

1. НЕ Е НУЛЕВ

  • NULL означава празно, т.е. стойността не е налична.
  • Всеки път, когато колона на таблица е декларирана като NOT NULL, тогава стойността за тази колона не може да бъде празна за нито един от записите на таблицата.
  • Трябва да съществува стойност в колоната, към която се прилага ограничението NOT NULL.

ЗАБЕЛЕЖКА: NULL не означава нула. NULL означава празна колона, дори не нула.

Синтаксис за прилагане на ограничението NOT NULL по време на създаване на таблица:

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

Пример:

Създайте таблица за ученик и приложете ограничение NOT NULL върху една от колоните на таблицата, докато създавате таблица.

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

Ограничения в SQL

За да проверим дали ограничението not null е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:

 mysql> DESC student; 

Ограничения в SQL

Синтаксис за прилагане на ограничението NOT NULL върху съществуваща колона на таблица:

 ALTER TABLE TableName CHANGE Old_ColumnName New_ColumnName Datatype NOT NULL; 

Пример:

Да приемем, че имаме съществуваща маса ученик, без никакви ограничения, приложени към нея. По-късно решихме да приложим ограничение NOT NULL към една от колоните на таблицата. След това ще изпълним следната заявка:

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

Ограничения в SQL

За да проверим дали ограничението not null е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql> DESC student; 

Ограничения в SQL

2. УНИКАЛЕН

  • Не се допускат дублиращи се стойности в колоните, към които е приложено ограничението UNIQUE.
  • Колоната с уникалното ограничение винаги ще съдържа уникална стойност.
  • Това ограничение може да се приложи към една или повече от една колона на таблица, което означава, че повече от едно уникално ограничение може да съществува в една таблица.
  • С помощта на ограничението UNIQUE можете също да променяте вече създадените таблици.

Синтаксис за прилагане на ограничението UNIQUE върху една колона:

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

Пример:

Създайте таблица за ученик и приложете УНИКАЛНО ограничение към една от колоните на таблицата, докато създавате таблица.

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

Ограничения в SQL

За да проверим дали уникалното ограничение е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:

 mysql> DESC student; 

Ограничения в SQL

Синтаксис за прилагане на ограничението UNIQUE върху повече от една колона:

java низ към char
 CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype,…., ColumnNameN datatype, UNIQUE (ColumnName1, ColumnName 2)); 

Пример:

Създайте таблица за ученик и приложете УНИКАЛНО ограничение върху повече от една колона на таблица, докато създавате таблица.

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

Ограничения в SQL

За да проверим дали уникалното ограничение е приложено към повече от една колона на таблица и таблицата на ученика е създадена успешно, ще изпълним следната заявка:

 mysql> DESC student; 

Ограничения в SQL

Синтаксис за прилагане на ограничението UNIQUE върху съществуваща колона на таблица:

 ALTER TABLE TableName ADD UNIQUE (ColumnName); 

Пример:

Да приемем, че имаме съществуваща маса ученик, без никакви ограничения, приложени към нея. По-късно решихме да приложим ограничение UNIQUE към една от колоните на таблицата. След това ще изпълним следната заявка:

 mysql> ALTER TABLE student ADD UNIQUE (StudentID); 

Ограничения в SQL

За да проверим дали уникалното ограничение е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:

 mysql> DESC student; 

Ограничения в SQL

3. ПЪРВИЧЕН КЛЮЧ

  • Ограничението PRIMARY KEY е комбинация от ограничения NOT NULL и Unique.
  • Ограничението NOT NULL и ограничението UNIQUE заедно образуват ОСНОВНО ограничение.
  • Колоната, към която сме приложили основното ограничение, винаги ще съдържа уникална стойност и няма да позволява нулеви стойности.

Синтаксис на ограничението за първичен ключ по време на създаване на таблица:

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

Пример:

nginx

Създайте таблица за ученик и приложете ограничението PRIMARY KEY, докато създавате таблица.

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

Ограничения в SQL

За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:

 mysql> DESC student; 

Ограничения в SQL

Синтаксис за прилагане на ограничението на първичния ключ върху съществуваща колона на таблица:

 ALTER TABLE TableName ADD PRIMARY KEY (ColumnName); 

Пример:

Да приемем, че имаме съществуваща маса ученик, без никакви ограничения, приложени към нея. По-късно решихме да приложим ограничението PRIMARY KEY към колоната на таблицата. След това ще изпълним следната заявка:

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

Ограничения в SQL

За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql> DESC student; 

Ограничения в SQL

4. ВЪНШЕН КЛЮЧ

  • Външен ключ се използва за референтна цялост.
  • Когато имаме две таблици и една таблица взема препратка от друга таблица, т.е. една и съща колона присъства и в двете таблици и тази колона действа като първичен ключ в една таблица. Тази конкретна колона ще действа като външен ключ в друга таблица.

Синтаксис за прилагане на ограничение за външен ключ по време на създаване на таблица:

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

Пример:

Създайте таблица на служителите и приложете ограничението FOREIGN KEY, докато създавате таблица.

За да създадем външен ключ на която и да е таблица, първо трябва да създадем първичен ключ на таблица.

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

Ограничения в SQL

За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата на служителите, ще изпълним следната заявка:

10 от 100.00
 mysql> DESC employee; 

Ограничения в SQL

Сега ще напишем заявка за прилагане на външен ключ към таблицата на отдела, отнасяща се до първичния ключ на таблицата на служителите, т.е. 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)); 

Ограничения в SQL

За да проверим дали ограничението за външен ключ е приложено към колоната на таблицата на отдела, ще изпълним следната заявка:

 mysql> DESC department; 

Ограничения в SQL

Синтаксис за прилагане на ограничението за външен ключ с име на ограничение:

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

Пример:

Създайте таблица за служители и приложете ограничението FOREIGN KEY с име на ограничение, докато създавате таблица.

За да създадем външен ключ на която и да е таблица, първо трябва да създадем първичен ключ на таблица.

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

Ограничения в SQL

За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql> DESC employee; 

Ограничения в SQL

Сега ще напишем заявка за прилагане на външен ключ с име на ограничение в таблицата на отдела, отнасяща се до първичния ключ на таблицата на служителите, т.е. 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)); 

Ограничения в SQL

За да проверим дали ограничението за външен ключ е приложено към колоната на таблицата на отдела, ще изпълним следната заявка:

 mysql> DESC department; 

Ограничения в SQL

Синтаксис за прилагане на ограничението за външен ключ към съществуваща колона на таблица:

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

Пример:

Помислете, че имаме съществуващ служител и отдел. По-късно решихме да приложим ограничение FOREIGN KEY към колоната на таблицата на отдела. След това ще изпълним следната заявка:

 mysql> DESC employee; 

Ограничения в SQL
 mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID); 

Ограничения в SQL

За да проверим дали ограничението за външен ключ е приложено към колоната на таблицата на отдела, ще изпълним следната заявка:

 mysql> DESC department; 

Ограничения в SQL

5. ПРОВЕРКА

  • Всеки път, когато ограничение за проверка се приложи към колоната на таблицата и потребителят иска да вмъкне стойността в нея, тогава стойността първо ще бъде проверена за определени условия, преди да вмъкне стойността в тази колона.
  • Например:ако имаме колона за възраст в таблица, тогава потребителят ще вмъкне всяка стойност по свой избор. Потребителят също ще въведе дори отрицателна стойност или друга невалидна стойност. Но ако потребителят е приложил ограничение за проверка на колоната за възраст с условието възраст по-голяма от 18. Тогава в такива случаи, дори ако потребителят се опита да вмъкне невалидна стойност като нула или друга стойност под 18, тогава възрастта няма да приеме тази стойност и няма да позволи на потребителя да я вмъкне поради прилагането на ограничение за проверка на колоната за възраст.

Синтаксис за прилагане на ограничение за проверка на една колона:

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

Пример:

Създайте таблица за ученик и приложете ограничение CHECK, за да проверите възрастта по-малка или равна на 15, докато създавате таблица.

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

Ограничения в SQL

Синтаксис за прилагане на ограничение за проверка върху множество колони:

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

Пример:

Създайте таблица за ученик и приложете ограничение CHECK, за да проверите възрастта по-малка или равна на 15 и процент, по-голям от 85, докато създавате таблица.

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

Ограничения в SQL

За да проверим дали ограничението за проверка е приложено към колоната за възраст и процент, ще изпълним следната заявка:

 mysql&gt; DESC student; 

Ограничения в SQL

Синтаксис за прилагане на ограничение за проверка върху съществуваща колона на таблица:

 ALTER TABLE TableName ADD CHECK (ColumnName Condition); 

Пример:

Помислете, че имаме съществуващ ученик за маса. По-късно решихме да приложим ограничението CHECK върху колоната на таблицата на учениците. След това ще изпълним следната заявка:

 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>

Ограничения в SQL

6. ПО ПОДРАЗБИРАНЕ

Всеки път, когато ограничение по подразбиране е приложено към колоната на таблицата и потребителят не е указал стойността, която да бъде вмъкната в нея, тогава стойността по подразбиране, която е зададена при прилагане на ограничението по подразбиране, ще бъде вмъкната в тази конкретна колона.

Синтаксис за прилагане на ограничение по подразбиране по време на създаване на таблица:

разлика между два низа python
 CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,&#x2026;., ColumnNameN datatype); 

Пример:

Създайте таблица за ученик и приложете ограничението по подразбиране, докато създавате таблица.

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

Ограничения в SQL

За да проверим дали ограничението по подразбиране е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql&gt; DESC student; 

Ограничения в SQL

Синтаксис за прилагане на ограничение по подразбиране към съществуваща колона на таблица:

 ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value; 

Пример:

Помислете, че имаме съществуващ ученик за маса. По-късно решихме да приложим ограничението DEFAULT към колоната на таблицата на учениците. След това ще изпълним следната заявка:

dfs срещу bfs
 mysql&gt; ALTER TABLE student ALTER Student_Email_ID SET DEFAULT &apos;[email protected]&apos;; 

Ограничения в SQL

За да проверим дали ограничението по подразбиране е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql&gt; DESC student; 

Ограничения в SQL

7. СЪЗДАВАНЕ НА ИНДЕКС

Ограничението CREATE INDEX се използва за създаване на индекс в таблицата. Индексите не са видими за потребителя, но му помагат да ускори скоростта на търсене или извличане на данни от базата данни.

Синтаксис за създаване на индекс на една колона:

 CREATE INDEX IndexName ON TableName (ColumnName 1); 

Пример:

Създайте индекс на ученическата таблица и приложете ограничението по подразбиране, докато създавате таблица.

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

Ограничения в SQL

За да проверим дали ограничението за създаване на индекс е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql&gt; DESC student; 

Ограничения в SQL

Синтаксис за създаване на индекс на множество колони:

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

Пример:

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

Ограничения в SQL

За да проверим дали ограничението за създаване на индекс е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql&gt; DESC student; 

Ограничения в SQL

Синтаксис за създаване на индекс на съществуваща таблица:

 ALTER TABLE TableName ADD INDEX (ColumnName); 

Помислете, че имаме съществуващ ученик за маса. По-късно решихме да приложим ограничението DEFAULT към колоната на таблицата на учениците. След това ще изпълним следната заявка:

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

Ограничения в SQL

За да проверим дали ограничението за създаване на индекс е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:

 mysql&gt; DESC student; 

Ограничения в SQL