MySQL MariaDB

MySQL unikālo ierobežojumu izmantošana

MySQL unikālo ierobežojumu izmantošana
MySQL IEROBEŽOJUMS tiek atcelts, lai aprakstītu kārtulas, kas atļauj vai ierobežo vērtības laukos, kas var turēt vai ierobežot rindās ievadāmos datus. Ierobežojumu noteikšanas mērķis ir saglabāt datu bāzes uzticamību. Viens no tiem ir UNIKĀLAIS ierobežojums.

UNIKĀLAIS ierobežojums garantē, ka gandrīz visi lauka elementi ir atšķirīgi. Laukam vai lauku grupai UNIKĀLAIS UN PRIMĀRĀS ATSLĒGAS ierobežojumi savstarpēji garantē individualitāti. Tomēr mums katrā tabulā var būt vairāki UNIKĀLI ierobežojumi, lai gan katrai tabulai tā vietā ir viens PAMATLĪDZEKĻA ierobežojums. Mācīsimies to, izmēģinot dažus piemērus.

Unikāls ierobežojums, izmantojot Workbench:

Pirmkārt, mums ir jāapgūst informācija par to, kā pievienot tabulai unikālus ierobežojumus, izmantojot MySQL Workbench 8.0. Atveriet tikko instalēto MySQL Workbench 8.0 un pievienojiet to datu bāzei.

Vaicājuma apgabalā jums ir jāraksta šāda komanda, lai izveidotu tabulu “Persona”. Šajā tabulā ir 4 kolonnas ar vienu primāro atslēgu. Mums jānorāda viena unikāla kolonna. Kā redzat, mēs esam notīrījuši kolonnu “Id” kā kolonnu “UNIQUE”:

>> IZVEIDOT GALDA Personu (ID int PRIMĀRĀ ATSLĒGA NULL, Uzvārda varchar (255) NOT NULL, Vārda varchar (255), Age int, UNIQUE (ID));

Tagad tabula “Persona” ir izveidota ar kolonnu “UNIKĀLA” “ID”. Tabulu varat atrast sadaļā “Navigator” un “Shēmas”, kamēr tā ir norādīta opcijā “Galdi”.

Ievietojot ierakstus, pieskaroties pogai “Lietot”, tas pārskatīs ievietotos ierakstus, kā parādīts zemāk. Varat redzēt, ka mums ir viens ierakstu dublikāts 3. un 4. rindā, kuram ir tāds pats “ID”. Pieskarieties pogai Lietot, lai lietotu izmaiņas.

Zemāk redzamajā attēlā tiek ģenerēta kļūda, ko dublē sleja “ID”, kas ir vērtība “13”.

Pēc ieraksta labošanas, lietojot izmaiņas, tas darbosies pareizi.

Unikāls ierobežojums, izmantojot komandrindas apvalku:

MySQL komandrindas apvalkā vienai vai vairākām kolonnām pievienosim UNIKĀLUS taustiņus. Vispirms atveriet komandrindu, lai ieskatītos katrā no tālāk sniegtajos piemēros. Ievadiet paroli, lai izmantotu komandu apvalku.

01. piemērs: vienā kolonnā

Šajā sintaksē, tāpat kā sleju specifikācijā, mēs izmantojam UNIQUE terminu, kuram vēlaties piemērot unikalitātes likumu. Kad mēs ievietosim vai mainīsim vērtību, kas konkrētajā kolonnā izveido dublikātus, MySQL noraidīs modifikāciju un tiks dots arī izņēmums. Šajā īpašajā ierobežojumā būs kolonnu ierobežojums. Un jūs to varētu izmantot, lai ieviestu arī viena lauka unikālo likumu. Šeit ir vienas kolonnas UNIQUE atslēgas sintakse:

>> CREATE TABLE tabulas_nosaukums (kolonnas datu tips UNIKĀLS, kolonnas datu tips);

Izveidosim datu bāzē “dati” tabulu “piegādātājs” ar trim kolonnām. Kolonna “ID” ir definēta kā “UNIQUE”.

>> IZVEIDOT TABULAS datus.piegādātājs (id INT AUTO_INCREMENT NOT NULL UNIQUE, Name VARCHAR (50) NOT NULL, Area VARCHAR (50));

Pārbaudot, jūs varat redzēt, ka tabulai vēl nav ierakstu.

>> SELECT * FROM dati.piegādātājs;

Ievietosim ierakstus tabulā. Pirmais ieraksts tiks vienmērīgi ievietots tabulā, kā parādīts zemāk.

Otrais ieraksts atkal tiks ievietots vienmērīgi, jo kolonnā “ID” tam nav vērtību dublikātu. No otras puses, tā iegūst to pašu vērtību, ko izmanto kolonnas “Platība” pirmajā vaicājumā.

Ievietojot trešo ierakstu, mēs esam norādījuši dublikāta vērtību “1”, kā to esam norādījuši pirmajā ievietošanas paziņojumā. Tas radīs kļūdu, ka kolonna “ID” iegūst vērtību dublikātu, kā parādīts zemāk esošajā attēlā.

Pārbaudot vēlreiz, jūs varat redzēt, ka tabulā ir tikai pirmo divu ieliktņu ierakstu ieraksts. Kamēr nav ieraksta no trešā ieliktņa paziņojuma.

>> SELECT * FROM dati.piegādātājs;

02. piemērs: uz vairākām kolonnām

Izmantojot šo formātu, pēc UNIQUE termina iekavās mēs lietojam ar komatiem atdalītu kolonnu kopu. Vērtību sastāvs laukos col1 un col2 tiek izmantots MySQL, lai noteiktu unikalitāti.

>> CREATE TABLE tabulas_nosaukums (kol1 datu tips, kol2 datu tips, UNIKĀLA (kol1, kol2));

Mēs esam izveidojuši tabulu “ministrs” datu bāzē “dati” ar piecām kolonnām. Kolonna “ID” ir definēta kā “UNIQUE” un “PRIMARY”. Atslēgvārds “IEROBEŽOJUMS” tiek izmantots, lai nosauktu unikālu atslēgas ierobežojumu kā “uc_add_sal”. Atslēgvārds “UNIQUE” tiek izmantots, lai definētu UNIQUE ierobežojumu iekavās norādītajām kolonnām, e.g., Adrese un “Alga”. Tagad mums ir trīs kolonnas, kurām ir “UNIKĀLS” ierobežojums.

>> IZVEIDOT TABULAS datus.ministrs (Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Name VARCHAR (50) NOT NULL, Address VARCHAR (50), Job VARCHAR (50), Alga VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (Adrese, Alga));

Pārbaudot tabulu, jūs varat redzēt, ka tabula šobrīd ir tukša.

>> SELECT * FROM dati.ministrs;

Ievietosim tajā dažus ierakstus. Pirmais ieraksts tiks veiksmīgi pievienots tabulai, jo tā ir pirmā rinda un nav nevienas rindas, ar kuru būtu jāsaskaņo.

Nevienā kolonnā ievadiet citu unikālu ierakstu bez vērtību dublikātiem, kā parādīts zemāk.

Tas neietekmē to, kad mēs ievadām kolonnu dublikātu vērtības, kurām nav “UNIQUE” ierobežojuma. Apskatiet zemāk esošo vaicājumu. Tai ir dublikāta vērtība slejās “Vārds” un “Darbs”. Tas darbojas pareizi, jo šīm divām kolonnām nav definēts “UNIQUE” ierobežojums.

No otras puses, kad mēs ievietojam dublikāta vērtību, e.g., “13” un “Rawalpindi”, tas radīs kļūdu, kā parādīts zemāk. Tas ir tāpēc, ka “13” un “Rawalpindi” ir norādītas iepriekš.

Pārbaudot, mums tabulā ir tikai trīs ieraksti, kurus ievieto pirmie trīs vaicājumi.

>> SELECT * FROM dati.ministrs;

Secinājums:

Mēs esam graciozi izdarījuši visus UNIKĀLO ierobežojumu definēšanas piemērus vienā un vairākās kolonnās, izmantojot MySQL Workbench 8.0 un MySQL komandrindas klienta čaula. Cerams, ka jums neradīsies problēmas, risinot problēmas, kas saistītas ar UNIKĀLAJIEM taustiņiem.

Labākās spēles, ko spēlēt ar rokas izsekošanu
Oculus Quest nesen iepazīstināja ar lielisku ideju par rokas izsekošanu bez kontrolieriem. Ar arvien lielāku spēļu un aktivitāšu skaitu, kas atbalsta ...
Kā parādīt OSD pārklājumu pilnekrāna Linux lietotnēs un spēlēs
Spēlējot pilnekrāna spēles vai lietojot lietotnes bez atrautības pilnekrāna režīmā, jūs varat izslēgt no attiecīgās sistēmas informācijas, kas redzama...
Top 5 spēļu tveršanas kartes
Mēs visi esam redzējuši un mīlējuši straumēšanas spēles pakalpojumā YouTube. PewDiePie, Jakesepticye un Markiplier ir tikai daži no labākajiem spēlētā...