Mik az SQL-kényszerek és annak különféle típusai?



Ez a cikk egy átfogó útmutató a különböző típusú SQL-kényszerek használatáról a különféle SQL-parancsokkal, és ugyanezt példákkal dolgozza fel.

Mivel nagy mennyiségű adat van jelen a , nagyon fontos mindannyiunk számára az adatbázisban lévő adatok pontosságának és megbízhatóságának növelése. Nos, az SQL-korlátozásokat ugyanezek fenntartására használják. Különböző típusú korlátozások használhatók. Ebben a cikkben ezeket a korlátokat példákkal tárgyalom.

A cikk a következő témákkal foglalkozik:





  1. Mik azok a korlátozások?
  2. Az SQL-ben elérhető korlátozások:

Mik azok az SQL-kényszerek?

Az SQL kényszerek a táblázatban szereplő adatok szabályainak megadására szolgálnak. Ezeket arra használják, hogy korlátozzák, milyen típusú adatokat kell tárolni az adatbázisban, és célja az adatbázisban tárolt adatok pontosságának és megbízhatóságának növelése.

Tehát a korlátozások gondoskodnak arról, hogy az adatok tranzakciója ne sérüljön, ugyanakkor megállapítható, hogy a műveletet megszüntetik.



Kétféle korlátozás alkalmazható:

  1. Oszlopszintű korlátozások - Ezeket a korlátozásokat egyetlen oszlopra alkalmazzák
  2. Táblázat szintű korlátozások - Ezek a korlátozások a teljes táblázatra való alkalmazás

Ebben a cikkben haladva értsük meg a különböző típusú korlátozásokat. Ezenkívül figyelembe veszem a következő táblázatot, amely segít jobban megérteni.

Különböző SQL korlátozások állnak rendelkezésre:

NEM NULL kényszer

A NOT NULL korlátozás biztosítja, hogy egy oszlopnak ne legyen NULL értéke. A NOT NULL korlátozást a while használatakor is használhatja az asztal létrehozása adatbázis módosítása közben.



Példa

NOT NULL korlátozás a CREATE TABLE-n

Írjon egy lekérdezést a fenti Student tábla létrehozásához, ahol a StudentID és a StudentName nem lehet NULL.

TÁBLÁZAT LÉTREHOZÁSA (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

NOT NULL korlátozás az ALTER TABLE-n

Írjon egy lekérdezést a fenti Student táblázat módosításához, ahol új DOB oszlopot kell hozzáadni, és nem tartalmazhat NULL értékeket.

ALTER TÁBLÁZAT A diákok OSZLOP HOZZÁADÁSA DOB év NULL

Ebben a cikkben továbblépve az SQL kényszerekről, hadd értsük meg, hogyan kell használni az UNIQUE kényszert.

EGYEDI Kényszer

Az UNIQUE korlátozással ellenőrizhető, hogy az oszlop összes értéke egyedi-e. Az UNIQUE korlátozást több oszlopban vagy egyetlen oszlopban is használhatja. Ettől eltekintve előre léphet, és az UNIQUE korlátozással módosíthatja a meglévő táblákat.

linux admin szerepkörök és felelősségek

Jegyzet:

  1. Táblázatok létrehozása közben az ELSŐDLEGES KULCS-korlátozásnak automatikusan UNIKÁLIS korlátozása van, hogy garantálja az oszlop egyediségét.
  2. A táblának sok UNIQUE korlátozása lehet, de egyetlen primer kulcs korlátozás lehet.

Példa:

EGYEDI korlátozás a CREATE TABLE-on

Írjon egy lekérdezést, hogy hozzon létre egy Student táblát, StudentID, StudentName, Age és City oszlopokkal. Itt a StudentID-nek egyedinek kell lennie minden rekordnál.

TÁBLÁZAT LÉTREHOZÁSA (StudentID int NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

Nevezzen meg egyedi oszlopot több oszlopban

Egyedi korlátozás megnevezéséhez és több oszlophoz történő meghatározásához hivatkozhat a következő példára:

Írjon egy lekérdezést, hogy hozzon létre egy Student táblát, StudentID, StudentName, Age és City oszlopokkal. Itt a StudentID-nek és a StudentName-nek egyedinek kell lennie minden rekordnál.

TÁBLÁZAT LÉTREHOZÁSA (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Példa UNIQUE (StudentID, StudentName))

Itt a Stu_Example a StudentID és StudentName egyedi korlátozásnak adott név.

EGYEDI korlátozás az ALTER TÁBLÁZATON

Írjon egy lekérdezést a Student tábla módosításához, ahol UNIQUE korlátozást kell hozzáadni a StudentID oszlophoz.

TÁBLÁZAT MÓDOSÍTÁSA EGYEDI (StudentID)

Hasonlóképpen, ha több oszlopban szeretné használni az UNIQUE korlátozást, és meg szeretné nevezni azt, akkor a következőképpen írhat egy lekérdezést:

TÁBLÁZAT MÓDOSÍTÁSA A hallgatók KÖTELEZETTSÉGET ADNAK Stu_Példa UNIQUE (StudentID, StudentName)

Dobjon el egy UNIKÁLIS kényszert

Az oszlopban megadott korlátozás elvetéséhez használhatja az elnevezési megállapodást, amelyet esetleg megemlített a kényszer hozzáadása közben.

Például, ha egy lekérdezést kell írnunk a fent létrehozott UNIQUE megszorítás elvetéséhez, akkor a következőképpen írhatja a lekérdezést:

TÁBLÁZAT MÓDOSÍTÁSA A hallgatók eldobják a megszorítást Stu_Példa

Ezután az SQL-kényszerekről szóló cikkben ismertetjük, hogyan kell használni a CHECK kényszert.

ELLENŐRIZNI a kényszert

A CHECK kényszer biztosítja, hogy az oszlop összes értéke megfeleljen egy adott feltételnek.

Példa:

A CREATE TABLE korlátozásának ellenőrzése

Írjon egy lekérdezést, hogy hozzon létre egy Student táblát, StudentID, StudentName, Age és City oszlopokkal. Itt biztosan MUmbai a város.

TÁBLÁZAT LÉTREHOZÁSA (StudentID int NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == ’Mumbai’))

CHECK kényszer több oszlopra

Ha több oszlopban szeretné használni az ellenőrzési korlátozást, írjon egy lekérdezést az alábbiak szerint:

Írjon egy lekérdezést, hogy hozzon létre egy Student táblát, StudentID, StudentName, Age és City oszlopokkal. Itt a városnak Mumbai kell lennie, és a diákok életkorának> 19 évnek kell lennie.

TÁBLÁZAT LÉTREHOZÁSA (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == & rsquoMumbai & rsquo AND Age> 19))

Hasonlóképpen használhatja a CHECK korlátozást az ALTER TABLE paranccsal is. Lásd alább.

ELLENŐRIZNI A korlátozást az ALTER TÁBLÁZATON

Írjon egy lekérdezést a Student tábla módosításához, ahol egy CHECK korlátozást kell hozzáadni a City oszlophoz. Itt biztosan Mumbai a város.

ALTER TÁBLÁZAT A diákok ellenőrzést adnak hozzá (város == 'Mumbai')

Hasonlóképpen, ha a CHECK megszorítást úgy kívánja használni, hogy nevet ad neki, akkor a következőképpen írhat lekérdezést:

TÁBLÁZAT MÓDOSÍTÁSA A hallgatók KÖTELEZETTSÉGEK HOZZÁADÁSA StuCheckExample CHECK (város == 'Mumbai')

Hagyjon el egy ELLENŐRZÉSI kényszert

Az oszlopban megadott korlátozás elvetéséhez használhatja az elnevezési megállapodást, amelyet esetleg megemlített a kényszer hozzáadása közben.

Például, ha egy lekérdezést kell írnunk a fent létrehozott ELLENŐRZÉSI kényszer elvetéséhez, akkor a következőképpen írhatja:

servicenow bemutató kezdőknek pdf
ALTER TÁBLÁZAT A hallgatók eldobják a kényszert StuCheckExample

Ebben a cikkben továbblépve az SQL kényszerekről, hadd értsük meg, hogyan kell használni az ALAPÍTVÁNY kényszert.

DEFAULT kényszer

A DEFAULT megszorítás az alapértelmezett értékek megadására szolgál egy oszlop számára, ha nincs megadva érték. A többi korlátozáshoz hasonlóan ezt a korlátozást is használhatjuk a CREATE és ALTER tábla parancsnál.

Példa

Írjon egy lekérdezést, hogy hozzon létre egy Student táblát, StudentID, StudentName, Age és City oszlopokkal. Akkor is, ha a Város oszlopba nincs beillesztve érték, automatikusan Delhit is fel kell venni.

TÁBLÁZAT LÉTREHOZÁSA (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) DEFAULT ‘Delhi’)

DEFAULT kényszer az ALTER TABLE-n

Az Alapértelmezett korlátozás használatához a ALTER TABLE parancs , a következőképpen írhat lekérdezést:

ALTER TÁBLÁZAT A hallgatók KÖTELEZETTSÉGET HOZZÁADNAK StuDefauPéldául A MUMBAI ALAPÉRTÉK

Eldob egy DEFAULT korlátozást

Az ALAPÍTVÁNY korlátozás elvetéséhez használhatja az ALTER TABLE parancsot az alábbiak szerint:

ALTER TÁBLÁZAT A diákok ALTER OSZLOP Város DROP DEFAULT

Az SQL-kényszerekről szóló cikk következő részében ismertesse meg, hogyan kell használni az INDEX-kényszert.

INDEX kényszer

AZ INDEXA kényszert indexek létrehozására használják a táblázatban. Ezeknek az indexeknek a segítségével nagyon gyorsan létrehozhat és lekérhet adatokat az adatbázisból.

Szintaxis

- Hozzon létre egy indexet, ahol a duplikált értékek megengedettek. CREATE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... ColumnName (N)) - Hozzon létre egy indexet, ahol a duplikált értékek nem engedélyezettek. CREATE UNIQUE INDEX IndexName ON TableName (ColumnName1, ColumnName2 ... OszlopNév (N))

Példa

Írjon egy lekérdezést egy Stu_index nevű index létrehozásához a Student táblában, amely a StudentName-et tárolja.

INDEX létrehozása Stu_index a hallgatókon (StudentName)

Ehhez hasonlóan az index törléséhez a táblából a DROP parancsot kell használnia az index nevével.

DROP INDEX Diákok.Stu_index

A fenti korlátozásoktól eltekintve ELSŐDLEGES KULCS és a KÜLFÖLDI KULCSot is korlátozásnak tekintik. A PRIMARY KEY kényszer korlátozások meghatározására szolgál arra vonatkozóan, hogy egy adott oszlop hogyan azonosítja minden egyes duplát. Az IDEGEN KULCS kényszerrel két táblát kapcsolunk összefüggés alapján.

Ezzel véget értünk ennek a cikknek. Remélem, megértette, hogyan kell használni az adatbázisban jelen lévő különféle korlátozásokat. Ha többet szeretne megtudni a MySQL és ismerje meg ezt a nyílt forráskódú relációs adatbázist, majd nézze meg a mi amely oktató által vezetett élő képzéssel és valós projekt-tapasztalattal jár. Ez a képzés segít megérteni a MySQL-t alaposan, és elsajátítja a témát.

Van egy kérdésünk? Kérjük, említse meg ezt a cikket az SQL-korlátozásokról szóló cikk megjegyzés-szakaszában, és még visszatérek.