Тъй като в базите данни присъстват големи количества данни, за всички нас е много важно да увеличим точността и надеждността на данните, присъстващи в базата данни. Е, SQL ограниченията се използват за поддържане на същото. Има различни видове ограничения, които могат да се използват. В тази статия ще обсъдя тези ограничения с примери.
Следните теми ще бъдат разгледани в тази статия:
- Какво са ограниченията?
- Ограничения, налични в SQL:
- Ограничение NOT NULL
- УНИКАЛНО ограничение
- ПРОВЕРИТЕ Ограничение
- Ограничение по подразбиране
- Ограничение INDEX
Какво представляват SQL ограниченията?
SQL ограниченията се използват за определяне на правилата за данните в таблица. Те се използват за ограничаване на типа данни, които трябва да се съхраняват в базата данни, и имат за цел да повишат точността и надеждността на данните, съхранявани в базата данни.
И така, ограниченията гарантират, че няма нарушение по отношение на транзакция на данните, но все пак има открити нарушения; действието се прекратява.
Има два типа ограничения, които могат да бъдат приложени:
- Ограничения на ниво колона – Тези ограничения се прилагат към една колона
- Ограничения на ниво таблица – Тези ограничения са приложението към пълната таблица
Продължавайки напред в тази статия, нека разберем различните видове ограничения. Освен това ще разгледам следната таблица, за да ви помогна да разберете по-добре.
Налични са различни SQL ограничения:
Ограничение NOT NULL
Ограничението NOT NULL гарантира, че колоната не може да има стойност NULL. Можете да използвате ограничението NOT NULL или докато създавате базата данни на таблицата, или докато я модифицирате.
Пример
Ограничение NOT NULL за CREATE TABLE
Напишете заявка за създаване на горната таблица Students, където StudentID и StudentName не могат да бъдат NULL.
CREATE TABLE Students( StudentID int NOT NULL, StudentName varchar(255) NOT NULL, Age int, City varchar(255) );
Ограничение НЕ NULL за ALTER TABLE
Напишете заявка, за да промените горната таблица Students, където трябва да се добави нова колона с DOB и тя не трябва да има стойности NULL.
ALTER TABLE Students ADD COLUMN DOB year NOT NULL;
Продължавайки в тази статия за SQL ограниченията, нека разберем как да използваме ограничението UNIQUE.
УНИКАЛНО ограничение
Ограничението UNIQUE се използва, за да се гарантира, че всички стойности в колона са уникални. Можете да използвате ограничението UNIQUE или за множество колони, или за една колона с. Освен това можете да продължите напред и да използвате ограничението UNIQUE, за да промените съществуващите таблици.
Забележка:
- Докато създавате таблици, ограничението ПЪРВЕН КЛЮЧ автоматично има ограничение УНИКАЛНО, за да се гарантира уникалността на колона.
- Една таблица може да има много УНИКАЛНИ ограничения, но може да има ограничение с един първичен ключ.
Пример:
УНИКАЛНО ограничение за CREATE TABLE
Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук StudentID трябва да е уникален за всеки запис.
CREATE TABLE Students ( StudentID int NOT NULL UNIQUE, StudentName varchar(255) NOT NULL, Age int, City varchar(255) );
Наименувайте УНИКАЛНО ограничение за множество колони
За да наименувате уникално ограничение и да го дефинирате за множество колони, можете да се обърнете към следния пример:
Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук StudentID и StudentName трябва да бъдат уникални за всеки запис.
CREATE TABLE Students ( StudentID int NOT NULL, StudentName varchar(255) NOT NULL, Age int, City varchar(255) CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName) );
Тук Stu_Example е името, дадено на уникалното ограничение, приложено към StudentID и StudentName.
УНИКАЛНО ограничение за ALTER TABLE
Напишете заявка за промяна на таблицата Students, където трябва да се добави ограничение UNIQUE към колоната StudentID.
ALTER TABLE Students ADD UNIQUE (StudentID);
По същия начин, ако искате да използвате ограничението UNIQUE за множество колони и също така да го наименувате, можете да напишете заявка, както следва:
ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);
Отпуснете УНИКАЛНО ограничение
За да премахнете ограничението, посочено в колона, можете да използвате конвенцията за именуване, която може да сте споменали, докато добавяте ограничението.
Например, ако трябва да напишем заявка, за да премахнем ограничението UNIQUE, което създадохме по-горе, можете да напишете заявката, както следва:
ALTER TABLE Students DROP CONSTRAINT Stu_Example;
След това в тази статия за SQL ограниченията нека разберем как да използваме ограничението CHECK.
Проверка на ограничение
Ограничението CHECK гарантира, че всички стойности в колона отговарят на определено условие.
Пример:
ПРОВЕРАЙТЕ Ограничението за СЪЗДАВАНЕ НА ТАБЛИЦА
Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук градът трябва да е Мумбай.
CREATE TABLE Students ( StudentID int NOT NULL UNIQUE, StudentName varchar(255) NOT NULL, Age int, City varchar(255)CHECK (City==’Mumbai’) );
Проверете ограничение за множество колони
За да използвате ограничението за проверка на множество колони, можете да напишете заявка, както следва:
Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук градът трябва да е Мумбай, а възрастта на учениците трябва да е> 19.
CREATE TABLE Students ( StudentID int NOT NULL, StudentName varchar(255) NOT NULL, Age int, City varchar(255)CHECK (City==’Mumbai’ AND Age>19));
По подобен начин можете да използвате и ограничението CHECK с командата ALTER TABLE. Вижте по-долу.
ПРОВЕРАЙТЕ Ограничението на ALTER TABLE
Напишете заявка за промяна на таблицата Студенти, където трябва да се добави ограничение CHECK към колоната City. Тук градът трябва да е Мумбай.
ALTER TABLE Students ADD CHECK (City=='Mumbai');
По същия начин, ако искате да използвате ограничението CHECK, като му дадете име, можете да напишете заявка, както следва:
ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');
Изхвърлете ограничение CHECK
За да премахнете ограничението, посочено в колона, можете да използвате конвенцията за именуване, която може да сте споменали, докато добавяте ограничението.
Например, ако трябва да напишем заявка, за да премахнем ограничението CHECK, което създадохме по-горе, можете да напишете заявката, както следва:
ALTER TABLE Students DROP CONSTRAINT StuCheckExample;
Продължавайки в тази статия за SQL ограниченията, нека разберем как да използваме ограничението ПО ПОДРАЗБИРАНЕ.
Ограничение ПО ПОДРАЗБИРАНЕ
Ограничението DEFAULT се използва за споменаване на набор от стойности по подразбиране за колона, когато не е посочена стойност. Подобно на това при другите ограничения, можем да използваме това ограничение за командата CREATE и ALTER table.
Пример
Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Също така, когато няма вмъкната стойност в колоната Град, автоматично трябва да бъде включен Делхи.
CREATE TABLE Students ( StudentID int NOT NULL, StudentName varchar(255) NOT NULL, Age int, City varchar(255)DEFAULT ‘Delhi’);
Ограничение по подразбиране за ALTER TABLE
За да използвате ограничението DEFAULT с командата ALTER TABLE, можете да напишете заявка, както следва:
ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;
Изхвърлете ограничение ПО ПОДРАЗБИРАНЕ
За да премахнете ограничението DEFAULT, можете да използвате командата ALTER TABLE, както следва:
ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;
След това в тази статия за SQL ограниченията нека разберем как да използваме ограничението INDEX.
Ограничение INDEX
Ограничението INDEX се използва за създаване на индекси в таблицата. С помощта на тези индекси можете да създавате и извличате данни от базата данни много бързо.
Синтаксис
--Create an Index where duplicate values are allowed CREATE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ...ColumnName(N)); --Create an Index where duplicate values are not allowed CREATE UNIQUE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));
Пример
Напишете заявка за създаване на индекс с името Stu_index в таблицата Students, която съхранява StudentName.
CREATE INDEX Stu_index ON Students (StudentName);
По същия начин, за да изтриете индекс от таблицата, трябва да използвате командата DROP с името на индекса.
DROP INDEX Students.Stu_index;
Освен горните ограничения ПЪРВИЧНИЯТ КЛЮЧ и ВЪНШНИЯТ КЛЮЧ също се считат за ограничения. Ограничението PRIMARY KEY се използва за дефиниране на ограничения за това как конкретна колона идентифицира уникално всеки кортеж. Ограничението FOREIGN KEY се използва за свързване на две таблици въз основа на връзка.
С това стигаме до края на тази статия. Надявам се, че сте разбрали как да използвате различните ограничения, присъстващи в базата данни. Ако искате да научите повече за MySQL и да се запознаете с тази релационна база данни с отворен код, разгледайте нашето Обучение за сертифициране на MySQL DBA която идва с обучение на живо от инструктор и реален опит с проекти. Това обучение ще ви помогне да разберете MySQL в дълбочина и ще ви помогне да постигнете майсторство по темата.
Имате въпрос към нас? Моля, споменете го в секцията за коментари на тази статия относно SQL ограниченията и аз ще се свържа с вас.