Ограниченията в SQL означават, че прилагаме определени условия или ограничения върху базата данни. Това допълнително означава, че преди да вмъкнем данни в базата данни, ние проверяваме за някои условия. Ако условието, което сме приложили към базата данни, е вярно за данните, които трябва да бъдат вмъкнати, тогава само данните ще бъдат вмъкнати в таблиците на базата данни.
Ограниченията в SQL могат да бъдат категоризирани в два типа:
Column Level Constraint се използва за прилагане на ограничение върху една колона.
Ограничението на ниво таблица се използва за прилагане на ограничение върху множество колони.
Някои от реалните примери за ограничения са следните:
- Всеки човек има уникален имейл адрес. Това е така, защото докато създавате имейл акаунт за който и да е потребител, услугите, предоставящи имейл, като Gmail, Yahoo или всяка друга услуга, предоставяща имейл, винаги ще проверяват за наличността на имейл идентификатора, който потребителят иска за себе си. Ако някой друг потребител вече вземе имейл идентификатора, който потребителят иска, тогава този идентификатор не може да бъде присвоен на друг потребител. Това просто означава, че двама потребители не могат да имат еднакви имейл идентификатори в една и съща услуга за предоставяне на имейл. И така, тук имейл идентификаторът е ограничението върху базата данни за услуги, предоставящи имейл.
- Всеки път, когато задаваме парола за която и да е система, има определени ограничения, които трябва да се спазват. Тези ограничения могат да включват следното:
- В паролата трябва да има една главна буква.
- Паролата трябва да е с дължина поне осем знака.
- Паролата трябва да съдържа поне един специален символ.
Наличните ограничения в SQL са:
- НЕ НУЛЕВ
- ЕДИНСТВЕН ПО РОДА СИ
- ПЪРВИЧЕН КЛЮЧ
- ВЪНШЕН КЛЮЧ
- ПРОВЕРКА
- ПО ПОДРАЗБИРАНЕ
- СЪЗДАВАНЕ НА ИНДЕКС
Сега нека се опитаме да разберем различните ограничения, налични в 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));
За да проверим дали ограничението not null е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за прилагане на ограничението 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;
За да проверим дали ограничението not null е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC student;
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));
За да проверим дали уникалното ограничение е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за прилагане на ограничението 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));
За да проверим дали уникалното ограничение е приложено към повече от една колона на таблица и таблицата на ученика е създадена успешно, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за прилагане на ограничението UNIQUE върху съществуваща колона на таблица:
ALTER TABLE TableName ADD UNIQUE (ColumnName);
Пример:
Да приемем, че имаме съществуваща маса ученик, без никакви ограничения, приложени към нея. По-късно решихме да приложим ограничение UNIQUE към една от колоните на таблицата. След това ще изпълним следната заявка:
mysql> ALTER TABLE student ADD UNIQUE (StudentID);
За да проверим дали уникалното ограничение е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:
mysql> DESC student;
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));
За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата и таблицата на ученика е създадена успешно, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за прилагане на ограничението на първичния ключ върху съществуваща колона на таблица:
ALTER TABLE TableName ADD PRIMARY KEY (ColumnName);
Пример:
Да приемем, че имаме съществуваща маса ученик, без никакви ограничения, приложени към нея. По-късно решихме да приложим ограничението PRIMARY KEY към колоната на таблицата. След това ще изпълним следната заявка:
mysql> ALTER TABLE student ADD PRIMARY KEY (StudentID);
За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC student;
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));
За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата на служителите, ще изпълним следната заявка:
10 от 100.00
mysql> DESC employee;
Сега ще напишем заявка за прилагане на външен ключ към таблицата на отдела, отнасяща се до първичния ключ на таблицата на служителите, т.е. 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));
За да проверим дали ограничението за външен ключ е приложено към колоната на таблицата на отдела, ще изпълним следната заявка:
mysql> DESC department;
Синтаксис за прилагане на ограничението за външен ключ с име на ограничение:
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));
За да проверим дали ограничението на първичния ключ е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC employee;
Сега ще напишем заявка за прилагане на външен ключ с име на ограничение в таблицата на отдела, отнасяща се до първичния ключ на таблицата на служителите, т.е. 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));
За да проверим дали ограничението за външен ключ е приложено към колоната на таблицата на отдела, ще изпълним следната заявка:
mysql> DESC department;
Синтаксис за прилагане на ограничението за външен ключ към съществуваща колона на таблица:
ALTER TABLE Parent_TableName ADD FOREIGN KEY (ColumnName) REFERENCES Child_TableName (ColumnName);
Пример:
Помислете, че имаме съществуващ служител и отдел. По-късно решихме да приложим ограничение FOREIGN KEY към колоната на таблицата на отдела. След това ще изпълним следната заявка:
mysql> DESC employee;
mysql> ALTER TABLE department ADD FOREIGN KEY (Emp_ID) REFERENCES employee (Emp_ID);
За да проверим дали ограничението за външен ключ е приложено към колоната на таблицата на отдела, ще изпълним следната заявка:
mysql> DESC department;
5. ПРОВЕРКА
- Всеки път, когато ограничение за проверка се приложи към колоната на таблицата и потребителят иска да вмъкне стойността в нея, тогава стойността първо ще бъде проверена за определени условия, преди да вмъкне стойността в тази колона.
Синтаксис за прилагане на ограничение за проверка на една колона:
CREATE TABLE TableName (ColumnName1 datatype CHECK (ColumnName1 Condition), ColumnName2 datatype,…., ColumnNameN datatype);
Пример:
Създайте таблица за ученик и приложете ограничение CHECK, за да проверите възрастта по-малка или равна на 15, докато създавате таблица.
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></=>
Синтаксис за прилагане на ограничение за проверка върху множество колони:
CREATE TABLE TableName (ColumnName1 datatype, ColumnName2 datatype CHECK (ColumnName1 Condition AND ColumnName2 Condition),…., ColumnNameN datatype);
Пример:
Създайте таблица за ученик и приложете ограничение CHECK, за да проверите възрастта по-малка или равна на 15 и процент, по-голям от 85, докато създавате таблица.
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));
За да проверим дали ограничението за проверка е приложено към колоната за възраст и процент, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за прилагане на ограничение за проверка върху съществуваща колона на таблица:
ALTER TABLE TableName ADD CHECK (ColumnName Condition);
Пример:
Помислете, че имаме съществуващ ученик за маса. По-късно решихме да приложим ограничението CHECK върху колоната на таблицата на учениците. След това ще изпълним следната заявка:
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. ПО ПОДРАЗБИРАНЕ
Всеки път, когато ограничение по подразбиране е приложено към колоната на таблицата и потребителят не е указал стойността, която да бъде вмъкната в нея, тогава стойността по подразбиране, която е зададена при прилагане на ограничението по подразбиране, ще бъде вмъкната в тази конкретна колона.
Синтаксис за прилагане на ограничение по подразбиране по време на създаване на таблица:
разлика между два низа python
CREATE TABLE TableName (ColumnName1 datatype DEFAULT Value, ColumnName2 datatype,…., ColumnNameN datatype);
Пример:
Създайте таблица за ученик и приложете ограничението по подразбиране, докато създавате таблица.
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]');
За да проверим дали ограничението по подразбиране е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за прилагане на ограничение по подразбиране към съществуваща колона на таблица:
ALTER TABLE TableName ALTER ColumnName SET DEFAULT Value;
Пример:
Помислете, че имаме съществуващ ученик за маса. По-късно решихме да приложим ограничението DEFAULT към колоната на таблицата на учениците. След това ще изпълним следната заявка:
dfs срещу bfs
mysql> ALTER TABLE student ALTER Student_Email_ID SET DEFAULT '[email protected]';
За да проверим дали ограничението по подразбиране е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC student;
7. СЪЗДАВАНЕ НА ИНДЕКС
Ограничението CREATE INDEX се използва за създаване на индекс в таблицата. Индексите не са видими за потребителя, но му помагат да ускори скоростта на търсене или извличане на данни от базата данни.
Синтаксис за създаване на индекс на една колона:
CREATE INDEX IndexName ON TableName (ColumnName 1);
Пример:
Създайте индекс на ученическата таблица и приложете ограничението по подразбиране, докато създавате таблица.
mysql> CREATE INDEX idx_StudentID ON student (StudentID);
За да проверим дали ограничението за създаване на индекс е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за създаване на индекс на множество колони:
CREATE INDEX IndexName ON TableName (ColumnName 1, ColumnName 2, ColumnName N);
Пример:
mysql> CREATE INDEX idx_Student ON student (StudentID, Student_PhoneNumber);
За да проверим дали ограничението за създаване на индекс е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC student;
Синтаксис за създаване на индекс на съществуваща таблица:
ALTER TABLE TableName ADD INDEX (ColumnName);
Помислете, че имаме съществуващ ученик за маса. По-късно решихме да приложим ограничението DEFAULT към колоната на таблицата на учениците. След това ще изпълним следната заявка:
mysql> ALTER TABLE student ADD INDEX (StudentID);
За да проверим дали ограничението за създаване на индекс е приложено към колоната на таблицата на ученика, ще изпълним следната заявка:
mysql> DESC student;
=15>=>