Čo sú obmedzenia SQL a ich rôzne typy?



Tento článok je komplexnou príručkou o tom, ako používať rôzne typy obmedzení SQL s rôznymi príkazmi SQL, a je to rovnako rozpracované pomocou príkladov.

Pretože v serveri je veľké množstvo údajov , je pre nás všetkých veľmi dôležité zvýšiť presnosť a spoľahlivosť údajov nachádzajúcich sa v databáze. Na zachovanie toho istého sa používajú obmedzenia SQL. Môžete použiť rôzne typy obmedzení. V tomto článku sa budem s týmito obmedzeniami rozprávať na príkladoch.

V tomto článku sa budeme venovať nasledujúcim témam:





  1. Čo sú obmedzenia?
  2. Obmedzenia dostupné v SQL:

Čo sú obmedzenia SQL?

Obmedzenia SQL sa používajú na určenie pravidiel pre údaje v tabuľke. Používajú sa na obmedzenie toho, aký typ údajov musí byť uložený v databáze, a ich cieľom je zvýšiť presnosť a spoľahlivosť údajov uložených v databáze.

Obmedzenia teda zaisťujú, že nedôjde k porušeniu z hľadiska transakcie s údajmi, napriek tomu dôjde k porušeniu, ktoré vedie k ukončeniu akcie.



Môžete použiť dva typy obmedzení:

  1. Obmedzenia na úrovni stĺpca - Tieto obmedzenia sa vzťahujú na jeden stĺpec
  2. Obmedzenia na úrovni tabuľky - Tieto obmedzenia platia pre celú tabuľku

Ďalej v tomto článku pochopíme rôzne typy obmedzení. Zvážim tiež nasledujúcu tabuľku, ktorá vám pomôže lepšie pochopiť.

K dispozícii sú rôzne obmedzenia SQL:

NIE NULL Obmedzenie

Obmedzenie NOT NULL zaisťuje, že stĺpec nemôže mať hodnotu NULL. Obmedzenie NOT NULL môžete použiť buď počas vytvorenie tabuľky alebo pri jej úprave.



Príklad

NIE NULL Obmedzenie pre CREATE TABLE

Zadaním dotazu vytvorte vyššie uvedenú tabuľku Students, kde StudentID a StudentName nemôžu mať hodnotu NULL.

CREATE TABLE Students (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

NIE NULL Obmedzenie pre ALTER TABLE

Napíš dotaz, aby si zmenil vyššie uvedenú tabuľku Students, kde musí byť pridaný nový stĺpec DOB a nemal by mať žiadne hodnoty NULL.

ZMENIŤ TABUĽKU Študenti PRIDAJTE STĹPEC DOB ročník NIE NULOVÝ

Ak v tomto článku pokračujeme o obmedzeniach SQL, poďme pochopiť, ako používať obmedzenie UNIQUE.

JEDINEČNÉ obmedzenie

UNIQUE obmedzenie sa používa na zabezpečenie jedinečnosti všetkých hodnôt v stĺpci. JEDINEČNÉ obmedzenie môžete použiť buď na viacerých stĺpcoch, alebo na jednom stĺpci s. Okrem toho môžete ísť vpred a pomocou obmedzenia UNIQUE upraviť existujúce tabuľky.

Poznámka:

  1. Pri vytváraní tabuliek má obmedzenie PRIMARY KEY automaticky UNIQUE obmedzenie, aby bola zaručená jedinečnosť stĺpca.
  2. Tabuľka môže mať veľa UNIQUE obmedzení, ale môže mať iba jedno obmedzenie primárneho kľúča.

Príklad:

JEDINEČNÉ obmedzenie CREATE TABLE

Napíšte dotaz a vytvorte tabuľku Students so stĺpcami StudentID, StudentName, Age and City. Tu musí byť ID študenta jedinečné pre každý záznam.

CREATE TABLE Students (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255))

Pomenujte UNIKÁTNE obmedzenie vo viacerých stĺpcoch

Ak chcete pomenovať jedinečné obmedzenie a definovať ho pre viac stĺpcov, môžete použiť nasledujúci príklad:

Napíšte dotaz a vytvorte tabuľku Students so stĺpcami StudentID, StudentName, Age and City. Tu musí byť ID študenta a názov študenta jedinečný pre každý záznam.

CREATE TABLE Students (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName))

Tu je Stu_Example názov daný jedinečnému obmedzeniu použitému na StudentID a StudentName.

JEDINEČNÉ obmedzenie pre ALTER TABLE

Napísaním dotazu zmeníte tabuľku Students, kde do stĺpca StudentID musí byť pridané JEDINEČNÉ obmedzenie.

štruktúra java programu
ALTER TABLE Students ADD UNIQUE (StudentID)

Podobne, ak chcete použiť JEDINEČNÉ obmedzenie pre viac stĺpcov a tiež ho pomenovať, môžete dopyt napísať nasledovne:

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID, StudentName)

Zrušiť JEDINEČNÉ obmedzenie

Ak chcete zrušiť obmedzenie špecifikované v stĺpci, môžete použiť konvenciu pomenovania, ktorú ste mohli spomenúť pri pridávaní obmedzenia.

Napríklad, ak musíme napísať dotaz, aby sme zrušili JEDINEČNÉ obmedzenie, ktoré sme vytvorili vyššie, môžete dotaz napísať takto:

ALTER TABLE Študenti DROP OBMEDZENIA Stu_Example

Ďalej v tomto článku o obmedzeniach SQL poďme pochopiť, ako používať obmedzenie CHECK.

SKONTROLUJTE obmedzenie

Obmedzenie CHECK zaisťuje, že všetky hodnoty v stĺpci vyhovujú konkrétnej podmienke.

Príklad:

SKONTROLUJTE obmedzenie NA VYTVORIŤ TABUĽKU

Napíšte dotaz a vytvorte tabuľku Students so stĺpcami StudentID, StudentName, Age and City. Tu musí byť mesto MUmbai.

VYTVORIŤ TABUĽKU Študenti (StudentID int NOT NULL UNIQUE, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == ‘Mumbai‘))

Skontrolujte obmedzenie na viacerých stĺpcoch

Ak chcete použiť kontrolné obmedzenie pre viac stĺpcov, môžete napísať dotaz nižšie:

Napíšte dotaz a vytvorte tabuľku Students so stĺpcami StudentID, StudentName, Age and City. Tu musí byť mestom Bombaj a vek študentov musí byť> 19 rokov.

CREATE TABLE Students (StudentID int NOT NULL, StudentName varchar (255) NOT NULL, Age int, City varchar (255) CHECK (City == & rsquoMumbai & rsquo AND Age> 19))

Obdobne môžete tiež použiť obmedzenie CHECK s príkazom ALTER TABLE. Pozri nižšie.

SKONTROLUJTE obmedzenie na ALTER TABUĽKE

Napíšte dotaz na zmenu tabuľky Students, kde do stĺpca City musí byť pridané obmedzenie CHECK. Tu musí byť mestom Bombaj.

ALTER TABUĽKA Študenti PRIDAJTE ŠEK (Mesto == 'Mumbai')

Podobne, ak chcete použiť obmedzenie CHECK tým, že mu dáte názov, môžete napísať dotaz nasledovne:

ZMENIŤ TABUĽKU Študenti PRIDAJTE OBMEDZENIE StuCheckExample KONTROLA (Mesto == 'Mumbai')

Zrušte obmedzenie CHECK

Ak chcete zrušiť obmedzenie špecifikované v stĺpci, môžete použiť konvenciu pomenovania, ktorú ste mohli spomenúť pri pridávaní obmedzenia.

Napríklad, ak musíme napísať dotaz, aby sme zrušili obmedzenie CHECK, ktoré sme vytvorili vyššie, môžete dotaz napísať takto:

ALTER TABUĽKA Študenti DROP OBMEDZENIA StuCheckExample

Ďalej v tomto článku o obmedzeniach SQL poďme pochopiť, ako používať obmedzenie DEFAULT.

DEFAULT Constraint

Obmedzenie DEFAULT sa používa na uvedenie množiny predvolených hodnôt pre stĺpec, ak nie je zadaná žiadna hodnota. Podobne ako v prípade ostatných obmedzení, aj toto obmedzenie môžeme použiť v príkaze tabuľky CREATE and ALTER.

Príklad

Napíšte dotaz a vytvorte tabuľku Students so stĺpcami StudentID, StudentName, Age and City. Rovnako, ak v stĺpci Mesto nie je vložená žiadna hodnota, musí byť automaticky zahrnuté 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

Ak chcete použiť obmedzenie DEFAULT s Príkaz ALTER TABLE , môžete napísať dotaz nasledovne:

ZMENIŤ TABUĽKU Študenti PRIDAJTE OBMEDZENIE StuDefauPríklad DEFAULT „Mumbai“ FOR City

Zrušte PREDVOLENÉ obmedzenie

Na zrušenie obmedzenia DEFAULT môžete použiť príkaz ALTER TABLE nasledovne:

ALTER TABLE Študenti ALTER COLUMN City DROP DEFAULT

Ďalej v tomto článku o obmedzeniach SQL si vysvetlíme, ako používať obmedzenie INDEX.

INDEX obmedzenia

INDEXNa vytvorenie indexov v tabuľke sa používa obmedzenie. Pomocou týchto indexov môžete veľmi rýchlo vytvárať a načítať údaje z databázy.

Syntax

--Vytvorte index, v ktorom sú povolené duplicitné hodnoty. ... Názov stĺpca (N))

Príklad

Napíšte dotaz a vytvorte index s názvom Stu_index v tabuľke Students, ktorý uchováva StudentName.

VYTVORIŤ INDEX Stu_index PRE študentov (StudentName)

Podobne ak chcete vymazať index z tabuľky, musíte použiť príkaz DROP s názvom indexu.

DROP INDEX Students.Stu_index

Okrem vyššie uvedených obmedzení PRIMÁRNY KĽÚČ a ZAHRANIČNÝ KLÍČ sa tiež považujú za obmedzenia. Obmedzenie PRIMARY KEY sa používa na definovanie obmedzení toho, ako konkrétny stĺpec jedinečne identifikuje každú n-ticu. The CUDZÍ KĽÚČ obmedzenia sa používa na priradenie dvoch tabuliek na základe vzťahu.

Týmto sa dostávame k ukončeniu tohto článku. Dúfam, že ste pochopili, ako využiť rôzne obmedzenia obsiahnuté v databáze. Ak sa chcete dozvedieť viac o MySQL a spoznajte túto relačnú databázu otvorených zdrojov, potom si pozrite našu ktorá prináša živé školenie vedené inštruktorom a skúsenosti s projektmi v reálnom živote. Toto školenie vám pomôže pochopiť MySQL do hĺbky a pomôže vám dosiahnuť ovládanie tohto predmetu.

Máte na nás otázku? Uveďte to, prosím, v sekcii komentárov tohto článku o obmedzeniach SQL a ozvem sa.

výučba webových stránok Ruby on Rails