MySQL MariaDB

MySQL-i unikaalsete piirangute kasutamine

MySQL-i unikaalsete piirangute kasutamine
MySQL CONTRRAINT loobutakse reeglite kirjeldamiseks, mis lubavad või piiravad väljade väärtusi, mis võivad sisaldada või piirata ridadesse sisestatavaid andmeid. Piirangute kehtestamise eesmärk on säilitada andmebaasi usaldusväärsus. Üks neist on UNIKAALNE piirang.

UNIKAALNE piirang garanteerib, et peaaegu kõik välja elemendid on üksteisest erinevad. Välja või väljade rühma puhul on KINDLASTI ja PÕHIVÕTI piiridel vastastikune kindlus individuaalsuse osas. Sellegipoolest võib meil olla igas tabelis mitu unikaalset piirangut, ehkki igale tabelile on selle asemel üks esmane võtmepiirang. Õppime seda, proovides mõnda näidet.

Ainulaadne piirang Workbenchi kaudu:

Kõigepealt peame õppima, kuidas MySQL Workbench 8 kasutamise ajal tabelisse lisada unikaalseid piiranguid.0. Avage värskelt installitud MySQL Workbench 8.0 ja ühendage see andmebaasiga.

Päringu piirkonnas peate tabeli "Isik" loomiseks kirjutama alloleva käsu. Selles tabelis on 4 veergu koos ühe primaarvõtmega. Peame määrama ühe unikaalse veeru. Nagu näete, oleme tühjendanud veeru „Id” veeruna „UNIQUE”:

>> CREATE TABLE Person (ID int PRIMARY KEY NOT NULL, PERNAME varchar (255) NOT NULL, FirstName varchar (255), Age int, UNIQUE (ID));

Nüüd on tabel „Inimene“ loodud veerus „KORDumatu“ veeruga „ID“. Tabeli leiate jaotistest „Navigaator” ja „Skeemid”, kui olete loendis „Tabelid” loetletud.

Kui puudutate nuppu "Rakenda", vaatab see kirjete sisestamise ajal sisestatud kirjed läbi, nagu allpool näidatud. Näete, et meil on 3. ja 4. real üks dubleeritud kirje, millel on sama „ID”. Muudatuste rakendamiseks puudutage nuppu „Rakenda“.

Alloleval pildil tekitab tõrke veeru „ID” dubleerimine, mis on väärtus „13”.

Pärast kirje parandamist töötab muudatuste rakendamisel see õigesti.

Ainulaadne piirang käsurea kesta kaudu:

MySQL käsurea kestas lisame unikaalsed võtmed ühte või mitmesse veergu. Esmalt avage oma käsurida, et saada ülevaade järgmistest näidetest. Käsukesta kasutamiseks tippige oma parool.

Näide 01: ühe veeru peal

Selles süntaksis, nagu ka veeruspetsifikatsioonis, kasutame ainulaadsuse seaduse rakendamiseks ainulaadset mõistet. Kui sisestame või muudame väärtust, mis loob duplikaadid konkreetsesse veergu, keeldub MySQL muudatusest ja tehakse ka erand. Selles eripiirangus on veerupiirang. Ja seda saaksite kasutada ka ühe valdkonna ainulaadse reegli rakendamiseks. Siin on ühe veeru UNIQUE võtme süntaks:

>> CREATE TABLE tabeli_nimi (veeru andmetüüp UNIKAALNE, veeru andmetüüp);

Loome andmebaasi „andmed” tabeli „tarnija”, milles on kolm veergu. Veerg „ID” on määratletud kui „UNIQUE”.

>> LOE TABELI andmed.tarnija (id INT AUTO_INCREMENT NOT NULL UNIKQUE, nimi VARCHAR (50) NOT NULL, Area VARCHAR (50));

Kontrollimisel näete, et tabelil pole veel kirjeid.

>> SELECT * FROM andmetest.tarnija;

Lisame kirjed tabelisse. Esimene kirje lisatakse tabelisse sujuvalt, nagu allpool näidatud.

Teine kirje lisatakse jälle sujuvalt, kuna sellel pole veerus „ID” duplikaatväärtusi. Teiselt poolt võtab see sama väärtuse, mida kasutab veeru „Area” esimeses päringus.

Kolmanda kirje sisestamisel esitasime duplikaatväärtuse "1", nagu oleme esitanud esimeses sisestuslauses. See genereerib vea, et veerg „ID” saab duplikaatväärtuse, nagu on näidatud alloleval pildil.

Uuesti kontrollides näete, et tabelis on ainult kahe esimese sisestuslause kirje. Kuigi kolmandast sisestuslausest pole ühtegi kirjet.

>> SELECT * FROM andmetest.tarnija;

Näide 02: Mitmes veerus

Selle vormingu korral rakendame pärast UNIQUE terminit sulgudes komadega eraldatud veergude komplekti. Väljade col1 ja col2 väärtuste koostist kasutab MySQL ainulaadsuse kindlakstegemiseks.

>> CREATE TABLE tabeli_nimi (col1 andmetüüp, col2 andmetüüp, UNIQUE (col1, col2));

Oleme andmebaasis „andmed” loonud viie veeruga tabeli „minister”. Veerg „ID” on määratletud kui „UNIKAALNE” ja „PRIMAARNE”. Märksõna „KONSTRUKTSIOON” kasutatakse unikaalse võtmepiirangu nimetamiseks „uc_add_sal”. Märksõna „UNIQUE” kasutatakse sulgudes määratud veergudel UNIQUE piirangu määratlemiseks, e.g., Aadress ja palk. Nüüd on meil kokku kolm veergu, millel on piirang "UNIQUE".

>> LOE TABELI andmed.minister (keskel INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, Name VARCHAR (50) NOT NULL, Address VARCHAR (50), Job VARCHAR (50), palk VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (aadress, palk));

Tabeli kontrollimisel näete, et tabel on praegu tühi.

>> SELECT * FROM andmetest.minister;

Lisame sellesse mõned kirjed. Esimene kirje lisatakse tabelisse edukalt, kuna see on esimene rida ja pole ühtegi rida, millega sobitada.

Sisestage veel üks kordumatu kirje ilma ühegi veeru duplikaatväärtuseta, nagu allpool näidatud.

See ei mõjuta seda, kui sisestame nende veergude duplikaatväärtused, millel pole piirangut „UNIQUE”. Heitke pilk allpool olevale päringule. Sellel on veergudes „Nimi” ja „Töö” duplikaatväärtus. See töötab korralikult, kuna nendel kahel veerul pole määratletud piirangut "UNIQUE".

Teiselt poolt, kui sisestame duplikaadi väärtuse, e.g., “13” ja “Rawalpindi”, tekitab see vea, nagu allpool näidatud. Seda seetõttu, et “13” ja “Rawalpindi” on varem täpsustatud.

Kontrollimisel on meil tabelis ainult kolm kirjet, mis on lisatud kolme esimese päringuga.

>> SELECT * FROM andmetest.minister;

Järeldus:

Oleme MySQL Workbench 8 kasutamisel teinud kõik näited ainulaadsete piirangute määratlemiseks ühele ja mitmele veerule.0 ja MySQL käsurea kliendi kest. Loodetavasti ei teki UNIKAALSETE klahvidega seotud probleemide lahendamisel probleeme.

Jäljendage hiireklikke, hõljutades hiirega klõpsutut hiirt Windows 10-s
Hiire või klaviatuuri kasutamine liigses kasutamises vales asendis võib põhjustada palju terviseprobleeme, sealhulgas tüve, karpaalkanali sündroom ja ...
Nende tasuta tööriistade abil lisage Windows 10-le hiire liigutused
Viimastel aastatel on arvutid ja operatsioonisüsteemid palju arenenud. Oli aeg, mil kasutajad pidid failihaldurites navigeerimiseks kasutama käske. Na...
Juhtige ja hallake hiire liikumist mitme kuvari vahel Windows 10-s
Dual Display Mouse Manager võimaldab teil kontrollida ja konfigureerida hiire liikumist mitme monitori vahel, aeglustades selle liikumist piiri läheda...