Kas yra SQL apribojimai ir skirtingi jo tipai?



Šis straipsnis yra išsamus vadovas, kaip naudoti skirtingų tipų SQL apribojimus su įvairiomis SQL komandomis, ir tą patį pateikė su pavyzdžiais.

Kadangi programoje yra didelis duomenų kiekis , mums visiems labai svarbu padidinti duomenų bazėje esančių duomenų tikslumą ir patikimumą. Na, norint išlaikyti tą patį, naudojami SQL apribojimai. Galima naudoti įvairių rūšių apribojimus. Šiame straipsnyje aptarsiu tuos apribojimus su pavyzdžiais.

Šiame straipsnyje bus aptariamos šios temos:





  1. Kas yra apribojimai?
  2. Apribojimai galimi SQL:

Kas yra SQL apribojimai?

SQL apribojimai naudojami nurodyti lentelės duomenų taisykles. Jie naudojami siekiant apriboti, kokio tipo duomenys turi būti saugomi duomenų bazėje, ir jais siekiama padidinti duomenų bazėje saugomų duomenų tikslumą ir patikimumą.

Taigi, suvaržymai užtikrina, kad nėra duomenų operacijos pažeidimo, tačiau yra pažeidimų, kurie nustatomi, kad veiksmas nutraukiamas.



Galimi dviejų rūšių apribojimai:

  1. Stulpelio lygio apribojimai - Šie apribojimai taikomi vienam stulpeliui
  2. Stalo lygio apribojimai - Šie apribojimai yra taikymas visai lentelei

Žengdami į priekį šiame straipsnyje, supraskime skirtingus apribojimų tipus. Taip pat atsižvelgsiu į šią lentelę, kad galėtumėte geriau suprasti.

Galimi skirtingi SQL apribojimai:

NE NULL apribojimas

„NOT NULL“ apribojimas užtikrina, kad stulpelis negali turėti „NULL“ vertės. Taip pat galite naudoti apribojimą NOT NULL kuriant lentelę duomenų bazėje arba ją modifikuojant.



Pavyzdys

NOT NULL apribojimas CREATE TABLE

Parašykite užklausą, kad sukurtumėte aukščiau pateiktą lentelę „Studentai“, kur „StudentID“ ir „StudentName“ negali būti NULL.

KURTI STALĄ Studentai (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

NOT NULL apribojimas ALTER LENTELĖJE

Parašykite užklausą, kad pakeistumėte aukščiau pateiktą Studentų lentelę, kur reikia pridėti naują DOB stulpelį ir jame neturėtų būti NULL reikšmių.

KEITIMO LENTELĖ Studentai PRIDĖTI SKILTĮ DOB metai NENUOL

Toliau šiame straipsnyje apie SQL apribojimus leiskite mums suprasti, kaip naudoti UNIKALŲ apribojimą.

UNIKALUS suvaržymas

UNIKALUS apribojimas naudojamas norint įsitikinti, kad visos stulpelio reikšmės yra unikalios. UNIQUE apribojimą galite naudoti keliuose stulpeliuose arba viename stulpelyje naudodami. Be to, galite pereiti į priekį ir naudoti UNIQUE apribojimą esamoms lentelėms modifikuoti.

Pastaba:

  1. Kuriant lenteles, PRIMARY KEY apribojimas automatiškai turi unikalų apribojimą, kad būtų garantuotas stulpelio unikalumas.
  2. Lentelėje gali būti daug UNIKALIŲ apribojimų, tačiau ji gali turėti vieną pirminio rakto apribojimą.

Pavyzdys:

UNIKALUS CREATE TABLE apribojimas

Parašykite užklausą, kad sukurtumėte lentelę Studentai su stulpeliais StudentID, StudentName, Age ir City. Čia „StudentID“ turi būti unikalus kiekvienam įrašui.

KURTI STALĄ Studentai („StudentID int NOT NULL UNIKQUE“, „StudentName“ varchar (255) NOT NULL, Age int, City varchar (255))

Pavadinkite unikalų suvaržymą keliuose stulpeliuose

Norėdami pavadinti unikalų apribojimą ir apibrėžti jį keliems stulpeliams, galite remtis šiuo pavyzdžiu:

Parašykite užklausą, kad sukurtumėte lentelę Studentai su stulpeliais StudentID, StudentName, Age ir City. Čia „StudentID“ ir „StudentName“ turi būti unikalūs kiekvienam įrašui.

SUKURTI STALĄ Studentai (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName))

Čia „Stu_Example“ yra vardas, suteiktas unikaliam apribojimui, taikomam „StudentID“ ir „StudentName“.

UNIKALUS APRIBOJIMO LENTELĖS suvaržymas

Parašykite užklausą, kad pakeistumėte lentelę „Studentai“, kur prie „StudentID“ stulpelio turi būti pridėtas UNIKALUS suvaržymas.

sujungti rūšiuoti c ++
KEITIMO LENTELĖ Studentai PRIDĖTI UNIKALŲ (StudentID)

Panašiai, jei norite naudoti UNIQUE apribojimą keliuose stulpeliuose ir pavadinti jį, galite parašyti užklausą taip:

KEITIMO LENTELĖ Studentai PRIDĖTI SĄLYGĄ „Stu_Example UNIQUE“ („StudentID“, „StudentName“)

Atmeskite unikalų apribojimą

Norėdami atsisakyti stulpelyje nurodyto apribojimo, galite naudoti pavadinimo tvarką, kurią galbūt paminėjote pridėdami apribojimą.

Pvz., Jei mes turime parašyti užklausą, norėdami atsisakyti UNIKAUS apribojimo, kurį sukūrėme aukščiau, galite parašyti užklausą taip:

KEITIMO LENTELĖ Studentai krito suvaržymą „Stu_Pavyzdys“

Toliau šiame straipsnyje apie SQL apribojimus leiskite mums suprasti, kaip naudoti CHECK apribojimą.

PATIKRINKITE suvaržymą

CHECK apribojimas užtikrina, kad visos stulpelio reikšmės atitiktų konkrečią sąlygą.

Pavyzdys:

PATIKRINKITE KŪRIMO LENTELĖS suvaržymą

Parašykite užklausą, kad sukurtumėte lentelę Studentai su stulpeliais StudentID, StudentName, Age ir City. Čia miestas turi būti MUmbai.

SUKURTI STALĄ Studentai („StudentID int NOT NULL UNIQUE“, „StudentName“ varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == ’Mumbai’))

PATIKRINKITE kelių stulpelių apribojimą

Norėdami naudoti patikrinimo apribojimą keliuose stulpeliuose, galite parašyti užklausą taip:

Parašykite užklausą, kad sukurtumėte lentelę Studentai su stulpeliais StudentID, StudentName, Age ir City. Čia miestas turi būti Mumbajus, o studentų amžius turi būti> 19.

SUKURTI STALĄ Studentai (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == & rsquoMumbai & rsquo AND Age> 19))

Panašiai galite naudoti CHECK apribojimą su komanda ALTER TABLE. Žiūrėkite žemiau.

PATIKRINKITE ALTER LENTELĖS suvaržymą

Parašykite užklausą, kad pakeistumėte lentelę „Studentai“, kur stulpelyje „Miestas“ reikia pridėti CHECK apribojimą. Čia miestas turi būti Mumbajus.

KEITIMO LENTELĖ Studentai PRIDĖTI TIKRINIMĄ (Miestas == 'Mumbajus')

Panašiai, jei norite naudoti CHECK apribojimą suteikdami jam pavadinimą, galite parašyti užklausą taip:

KEITIMO LENTELĖ Studentai PRIDĖTI SĄLYGĄ „StuCheckExample CHECK“ (miestas == 'Mumbajus')

Atmeskite CHECK apribojimą

Norėdami atsisakyti stulpelyje nurodyto apribojimo, galite naudoti pavadinimo tvarką, kurią galbūt paminėjote pridėdami apribojimą.

Pvz., Jei mes turime parašyti užklausą, kad atsisakytume aukščiau sukurto CHECK apribojimo, užklausą galite parašyti taip:

KEITIMO LENTELĖ Studentai numeta apribojimus „StuCheckExample“

Toliau šiame straipsnyje apie SQL apribojimus leiskite mums suprasti, kaip naudoti numatytąjį apribojimą.

Numatytasis suvaržymas

Numatytasis apribojimas naudojamas paminėti numatytųjų stulpelio verčių rinkinį, kai vertė nenurodyta. Panašiai kaip ir su kitais apribojimais, šį apribojimą galime naudoti lentelėje CREATE ir ALTER lentelėje.

Pavyzdys

Parašykite užklausą, kad sukurtumėte lentelę Studentai su stulpeliais StudentID, StudentName, Age ir City. Be to, kai stulpelyje Miestas nėra įterptos vertės, automatiškai turi būti įtrauktas Delis.

KURTI STALĄ Studentai (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) DEFAULT ‘Delhi’)

Numatytasis apribojimas ALTER LENTELĖJE

Norėdami naudoti numatytąjį apribojimą su ALTER TABLE komanda , galite parašyti užklausą taip:

KEITIMO LENTELĖ Studentai PRIDĖTI SĄLYGĄ „StuDefau“, pavyzdinis Numatytasis „Mumbajus“ miestui

Išmeskite numatytąjį apribojimą

Norėdami atsisakyti numatytojo apribojimo, galite naudoti komandą ALTER TABLE taip:

KEITIMO LENTELĖ Studentai PAKEISTI SKILTĮ Miesto NUSTATYMAS

Toliau šiame straipsnyje apie SQL apribojimus leiskite mums suprasti, kaip naudoti INDEX apribojimą.

INDEKSO suvaržymas

INDEKSASapribojimas naudojamas indeksams kurti lentelėje. Šių indeksų pagalba galite labai greitai sukurti ir gauti duomenis iš duomenų bazės.

Sintaksė

- Sukurkite indeksą, kuriame leidžiamos pasikartojančios vertės. CREATE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... ColumnName (N)) - Sukurkite indeksą, kuriame neleidžiamos pasikartojančios vertės. CREATE UNIQUE INDEX IndexName ON TableName (ColumnName1, ColumnName2, ... ColumnName (N))

Pavyzdys

Parašykite užklausą, kad lentelėje „Studentai“ sukurtumėte indeksą pavadinimu „Stu_index“, kuriame saugoma „StudentName“.

SUKURTI INDEKSĄ „Stu_index“ ON studentams („StudentName“)

Panašiai, norėdami ištrinti indeksą iš lentelės, turite naudoti komandą DROP su indekso pavadinimu.

DROP INDEX Studentai. Stu_index

Be pirmiau išvardytų apribojimų, PAGRINDINIS RAKTAS ir UŽSIENIO RAKTAS taip pat laikomi apribojimais. PRIMARY RAKTO apribojimas naudojamas apibrėžti apribojimus, kaip konkretus stulpelis unikaliai identifikuoja kiekvieną paketą. SVETIMAS RAKTAS apribojimas naudojamas susieti dvi lenteles remiantis santykiu.

Tuo mes baigėme šį straipsnį. Tikiuosi, kad supratote, kaip naudotis įvairiais duomenų bazės apribojimais. Jei norite sužinoti daugiau apie „MySQL“ ir susipažinkite su šia atviro kodo reliacine duomenų baze, tada patikrinkite mūsų kuris ateina su instruktorių vedamomis tiesioginėmis treniruotėmis ir realių projektų patirtimi. Šie mokymai padės jums išsamiau suprasti „MySQL“ ir padės jums įsisavinti šį dalyką.

Turite mums klausimą? Prašau tai paminėti šio straipsnio komentaruose apie SQL apribojimus ir aš susisieksiu su jumis.

pl sql kūrėjo pamoka pradedantiesiems