TheCHECKSQL ierobežojums ievieš noteikumus kolonnu vērtībām, ierobežojot ievietojamo vai atjaunināmo datu skaitu. Tas nodrošina, ka vērtības atbilst noteiktiem nosacījumiem. Ja vērtība pārkāpj nosacījumu, darbība tiek noraidīta.CHECKvar pievienot tabulas izveides vai modificēšanas laikā.
CHECK ierobežojuma sintakse
The PĀRBAUDIET ierobežojumu var definēt, veidojot tabulu, vai pievienot vēlāk, izmantojot ALTER priekšrakstu.
1. Izmantojot CHECK ar CREATE TABLE :
CREATE TABLE table_name (
column1 datatype
column2 datatype CHECK (condition)
...
);
2. Izmantojot CHECK ar ALTER TABLE
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition);
Galvenie punkti par CHECK ierobežojumu:
- Domēna integritāte: Tas nodrošina, ka vērtības kolonnā atbilst noteiktiem nosacījumiem, tādējādi palīdzot uzturēt derīgus datus datu bāzē.
- Izmanto ar CREATE vai ALTER: Ierobežojumu CHECK var definēt, veidojot tabulu vai pievienot esošai tabulai.
- Var apvienot ar citiem ierobežojumiem: Varat izmantot CHECK kopā ar citiem ierobežojumiem, piemēram, PRIMĀRĀ ATSLĒGA FOREIGN KEY un NOT NULL, lai definētu visaptverošākus noteikumus tabulas datiem.
- Rindas līmeņa ierobežojumi: Atšķirībā no kolonnu līmeņa ierobežojumiem, kas ietekmē atsevišķas kolonnas, CHECK ierobežojumu var piemērot vairākām kolonnām vienlaikus, ja nepieciešams.
CHECK ierobežojuma izmantošanas piemēri
Apskatīsim dažus praktiskus piemērus, lai labāk izprastu, kā darbojas CHECK ierobežojums SQL .
1. piemērs: CHECK lietošana vienā kolonnā
Šajā piemērā mēs izveidojam tabulu Klienti ar sleju Vecums, kurā ir jābūt vērtībām no 18 līdz 120. Ierobežojums PĀRBAUDE nodrošina, ka tabulā netiek ievietots nederīgs vecums.
Vaicājums:
CREATE TABLE Customers (
CustomerID INT PRIMARY KEY
Name VARCHAR(50)
Age INT CHECK (Age >= 18 AND Age <= 120)
);
-- Valid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (1 'John Doe' 25);
-- Invalid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (2 'Jane Smith' 15); -- This will fail due to the CHECK constraint
Kolonnā Vecums ir CHECK ierobežojums, kas nodrošina, ka vērtībai ir jābūt no 18 līdz 120. Ja mēģināsit ievietot vecumu ārpus šī diapazona, datu bāze parādīs kļūdu.
2. piemērs: PĀRBAUDIET ierobežojumus ar vairākām kolonnām
Mēs varam arī izmantot CHECK ierobežojumu vairākās kolonnās. Piemēram, pieņemsim, ka mums ir Darbinieku tabula un mēs vēlamies nodrošināt, lai alga būtu pozitīva un vecums būtu lielāks vai vienāds ar 18 gadiem.
Vaicājums:
CREATE TABLE Employee (
EmployeeID INT PRIMARY KEY
Name VARCHAR(50)
Age INT
Salary DECIMAL(10 2)
CHECK (Age >= 18 AND Salary > 0)
);
-- Valid insert
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (1 'Alice Johnson' 30 50000);
-- Invalid insert (age < 18)
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (2 'Bob Lee' 16 45000); -- This will fail due to the CHECK constraint
Ierobežojums CHECK nodrošina abu nosacījumu izpildi. darbiniekam ir jābūt vismaz 18 gadus vecam un algai jābūt lielākai par 0. Šāda veida ierobežojumi ir noderīgi, ja noteikumā ir iesaistītas vairākas kolonnas.
3. piemērs: CHECK ierobežojuma pievienošana ar ALTER TABLE
Mēs varam pievienot CHECK ierobežojumu esošai tabulai, izmantojot priekšrakstu ALTER TABLE.
Vaicājums:
ALTER TABLE Employee
ADD CONSTRAINT chk_salary CHECK (Salary >= 30000);
Tādējādi tabulai Darbinieks tiek pievienots CHECK ierobežojums ar nosaukumu chk_salary, kas nodrošina, ka kolonnas Alga minimālā vērtība ir 30 000. Ja mēģināt ievietot vai atjaunināt ierakstu ar algu, kas ir mazāka par 30 000, darbība neizdosies.
Ieteiktā viktorīna Rediģēt viktorīnu 5 JautājumiKo CHECK ierobežojums nodrošina SQL?
- A
Kolonna pieņem vērtības bez noteikumiem
- B
Kolonna pieņem vērtības tikai tad, ja tās ir unikālas
- C
Kolonna pieņem vērtības tikai tad, ja tās nav nulles
- D
Kolonna pieņem vērtības, kas atbilst dotajam kārtulai
CHECK ievieš nosacījumu kolonnu vērtībām, noraidot visus datus, kas pārkāpj definēto noteikumu.
Kad SQL novērš INSERT, izmantojot CHECK?
- A
Ja vērtība kolonnā ir dublēta
- B
Kad vērtība pārkāpj definēto nosacījumu
- C
Kad tabulai nav primāro ierobežojumu
- D
Ja vērtība ir NULL un kolonna pieļauj nulli
Ja ievietotie vai atjauninātie dati tiek pārtraukti, nosacījums CHECK SQL atceļ darbību.
Kur var definēt CHECK ierobežojumu?
- A
Tikai vaicājuma SELECT sintaksē
- B
Tikai pēc primārās atslēgas deklarēšanas
- C
Tabulas izveides vai modificēšanas laikā
- D
Tikai ciparu kolonnām ar diapazoniem
CHECK var pievienot, veidojot tabulu vai vēlāk, izmantojot priekšrakstu ALTER TABLE.
Kas notiek vairāku kolonnu CHECK ierobežojumā?
- A
Nosacījums var atsaukties tikai uz vienu kolonnu
sql secībā pēc nejaušības principa
- B
Nosacījums var atsaukties uz vairākām kolonnām
- C
Nosacījums darbojas tikai ciparu kolonnās
- D
Nosacījums ievietošanas laikā ignorē vērtības
CHECK var lietot noteikumus, izmantojot divas vai vairākas kolonnas, kas nodrošina kombinētu validāciju.
Kurš ieliktnis neatbilst CHECK (vecums ≥ 18) ierobežojumam?
- A
Vecuma vērtība ir mazāka par piecpadsmit gadiem
- B
Vecuma vērtība ir tieši vienāda ar astoņpadsmit
- C
Vecuma vērtība ir lielāka par divdesmit pieciem gadiem
- D
Vecuma vērtība ir saglabāta kā atļauta NULL vērtība
Jebkura vērtība, kas ir mazāka par 18, pārkāpj PĀRBAUDES noteikumu un izraisa ievietošanas kļūmi.
Viktorīna ir veiksmīgi pabeigta, jūsu rezultāts: 2/5Precizitāte: 0%Piesakieties, lai skatītu skaidrojumu 1/5 1/5 < Previous Nākamais >