Vzhledem k tomu, že v systému Windows je přítomno velké množství dat , je pro nás všechny velmi důležité zvýšit přesnost a spolehlivost údajů obsažených v databázi. Omezení SQL se používají k zachování stejné. Lze použít různé typy omezení. V tomto článku budu diskutovat o těchto omezeních s příklady.
V tomto článku se budeme zabývat následujícími tématy:
Co jsou omezení SQL?
Omezení SQL se používají k určení pravidel pro data v tabulce. Používají se k omezení toho, jaký typ dat musí být uložen v databázi, a jeho cílem je zvýšit přesnost a spolehlivost dat uložených v databázi.
Omezení tedy zajišťují, že nedojde k žádnému porušení, pokud jde o transakci s daty, a přesto bude zjištěno jakékoli porušení, akce bude ukončena.
Lze použít dva typy omezení:
- Omezení na úrovni sloupců - Tato omezení se vztahují na jeden sloupec
- Omezení na úrovni tabulky - Tato omezení představují aplikaci pro úplnou tabulku
V dalším článku pojďme pochopit různé typy omezení. Zvažím také následující tabulku, která vám pomůže lépe porozumět.
K dispozici jsou různá omezení SQL:
NOT NULL Omezení
Omezení NOT NULL zajišťuje, že sloupec nemůže mít hodnotu NULL. Omezení NOT NULL můžete použít buď během vytvoření tabulky databázi nebo při její úpravě.
Příklad
NOT NULL Omezení na CREATE TABLE
Napište dotaz a vytvořte výše uvedenou tabulku Students, kde StudentID a StudentName nemohou mít hodnotu NULL.
VYTVOŘIT TABULKU Studenti (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))
NOT NULL Omezení na ALTER TABLE
Napište dotaz, abyste změnili výše uvedenou tabulku Studenti, kde je třeba přidat nový sloupec DOB a neměla by mít žádné hodnoty NULL.
ZMĚNIT TABULKU Studenti PŘIDAT SLOUPEC DOB rok NENÍ NULL
Pokračujeme v tomto článku o omezeních SQL, pojďme pochopit, jak používat UNIQUE omezení.
JEDINEČNÉ omezení
Omezení UNIQUE se používá k zajištění jedinečnosti všech hodnot ve sloupci. Omezení UNIQUE můžete použít buď na více sloupcích, nebo na jednom sloupci s. Kromě toho můžete pokračovat a použít omezení UNIQUE k úpravě existujících tabulek.
Poznámka:
- Při vytváření tabulek má omezení PRIMARY KEY automaticky omezení UNIQUE, aby byla zaručena jedinečnost sloupce.
- Tabulka může mít mnoho UNIQUE omezení, ale může mít jediné omezení primárního klíče.
Příklad:
JEDINEČNÉ omezení pro CREATE TABLE
Napište dotaz a vytvořte tabulku Students se sloupci StudentID, StudentName, Age a City. Zde musí být ID studenta jedinečné pro každý záznam.
CREATE TABLE Students (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255))
Pojmenujte JEDINEČNÉ omezení pro více sloupců
Chcete-li pojmenovat jedinečnou podmínku a definovat ji pro více sloupců, můžete použít následující příklad:
Napište dotaz a vytvořte tabulku Students se sloupci StudentID, StudentName, Age a City. Zde StudentID a StudentName musí být pro každý záznam jedinečné.
CREATE TABLE Students (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName))
Zde je Stu_Example název daný jedinečnému omezení použitému na StudentID a StudentName.
JEDINEČNÉ omezení na ALTER TABLE
Napište dotaz, abyste změnili tabulku Students, kde do sloupce StudentID musí být přidáno UNIQUE omezení.
vytvořit řadu objektů
ALTER TABLE Students ADD UNIQUE (StudentID)
Podobně, pokud chcete použít UNIQUE omezení pro více sloupců a také jej pojmenovat, můžete napsat dotaz takto:
ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName)
Zrušte JEDINEČNÉ omezení
Chcete-li zrušit omezení zadané ve sloupci, můžete použít konvenci pojmenování, kterou jste mohli zmínit při přidávání omezení.
Například pokud musíme napsat dotaz, abychom zrušili UNIQUE omezení, které jsme vytvořili výše, můžete dotaz napsat takto:
ALTER TABLE Studenti DROP CONSTRAINT Stu_Example
Dále v tomto článku o omezeních SQL pojďme pochopit, jak používat omezení CHECK.
ZKONTROLUJTE omezení
Omezení CHECK zajišťuje, že všechny hodnoty ve sloupci splňují konkrétní podmínku.
Příklad:
ZKONTROLUJTE omezení na VYTVOŘIT TABULKU
Napište dotaz a vytvořte tabulku Students se sloupci StudentID, StudentName, Age a City. Tady musí být město MUmbai.
VYTVOŘIT TABULKU Studenti (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == 'Mumbai'))
Zkontrolujte omezení na více sloupcích
Chcete-li použít kontrolní omezení na více sloupcích, můžete napsat dotaz, jak je uvedeno níže:
Napište dotaz a vytvořte tabulku Students se sloupci StudentID, StudentName, Age a City. Tady musí být město Bombaj a věk studentů musí být> 19 let.
VYTVOŘIT TABULKU Studenti (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == & rsquoMumbai & rsquo AND Age> 19))
Podobně můžete použít omezení CHECK také s příkazem ALTER TABLE. Viz níže.
ZKONTROLUJTE omezení na ALTER TABULCE
Napište dotaz a změňte tabulku Studenti, kde je třeba do sloupce Město přidat omezení CHECK. Tady musí být město Bombaj.
ZMĚNIT TABULKU Studenti PŘIDAT ŠEK (město == 'Mumbai')
Podobně, pokud chcete použít omezení CHECK tím, že mu dáte název, můžete napsat dotaz následovně:
ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City == 'Mumbai')
Zrušte omezení CHECK
Chcete-li zrušit omezení zadané ve sloupci, můžete použít konvenci pojmenování, kterou jste mohli zmínit při přidávání omezení.
Například pokud musíme napsat dotaz, abychom zrušili omezení CHECK, které jsme vytvořili výše, můžete dotaz napsat takto:
ALTER TABLE Studenti DROP CONSTRAINT StuCheckExample
Pohybující se v tomto článku na omezení SQL, pojďme pochopit, jak používat DEFAULT omezení.
DEFAULT Constraint
Omezení DEFAULT se používá k uvedení sady výchozích hodnot pro sloupec, pokud není zadána žádná hodnota. Podobně jako u ostatních omezení můžeme toto omezení použít u příkazu tabulky CREATE and ALTER.
Příklad
Napište dotaz a vytvořte tabulku Students se sloupci StudentID, StudentName, Age a City. Také pokud ve sloupci Město není vložena žádná hodnota, musí být automaticky zahrnuto Dillí.
CREATE TABLE Students (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) DEFAULT ‘Delhi‘)
DEFAULT Constraint on ALTER TABLE
Chcete-li použít omezení DEFAULT s Příkaz ALTER TABLE , můžete napsat dotaz následovně:
ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City
Zrušte DEFAULT omezení
Chcete-li zrušit omezení DEFAULT, můžete použít příkaz ALTER TABLE takto:
ALTER TABLE Studenti ALTER COLUMN City DROP DEFAULT
Dále v tomto článku o omezeních SQL pojďme pochopit, jak používat omezení INDEX.
Omezení INDEXU
INDEXomezení se používá k vytvoření indexů v tabulce. Pomocí těchto indexů můžete velmi rychle vytvářet a načítat data z databáze.
Syntax
--Vytvořte rejstřík, kde jsou povoleny duplicitní hodnoty CREATE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... ColumnName (N)) --Vytvořte rejstřík, kde nejsou povoleny duplicitní hodnoty CREATE UNIQUE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... Název sloupce (N))
Příklad
Napište dotaz a vytvořte index s názvem Stu_index v tabulce Students, který ukládá StudentName.
VYTVOŘIT INDEX Stu_index NA studenty (StudentName)
Podobně k odstranění indexu z tabulky musíte použít příkaz DROP s názvem indexu.
DROP INDEX Students.Stu_index
Kromě výše uvedených omezení PRIMÁRNÍ KLÍČ a ZAHRANIČNÍ KLÍČ jsou také považovány za omezení. Omezení PRIMARY KEY se používá k definování omezení, jak konkrétní sloupec jednoznačně identifikuje každou n-tici. The CIZÍ KLÍČ omezení se používá k propojení dvou tabulek na základě vztahu.
Tímto ukončujeme tento článek. Doufám, že jste pochopili, jak používat různá omezení obsažená v databázi. Pokud se chcete dozvědět více o MySQL a seznamte se s touto relační databází open-source, pak se podívejte na naši který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže porozumět MySQL do hloubky a pomůže vám dosáhnout zvládnutí předmětu.
Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto článku o omezeních SQL a ozvu se vám.
t datový typ data sql