MySQL MariaDB

Použití jedinečných omezení MySQL

Použití jedinečných omezení MySQL
MySQL CONSTRAINT se zavrhuje za účelem popisu pravidel, která povolují nebo omezují hodnoty v polích, která mohou obsahovat nebo omezovat data, která lze zadat do řádků. Cílem zavedení omezení je udržení důvěryhodnosti databáze. Jedním z nich je JEDINEČNÉ omezení.

JEDINEČNÉ omezení zaručuje, že téměř všechny prvky v poli jsou navzájem odlišné. Pro pole nebo skupinu polí mají limity JEDINEČNÝ a PRIMÁRNÍ KLÍČ vzájemně záruku individuality. Přesto můžeme mít v každé tabulce několik JEDINEČNÝCH omezení, i když místo toho pro každou tabulku jeden limit PRIMARY KEY. Naučme se to vyzkoušením několika příkladů.

Jedinečné omezení prostřednictvím Workbench:

Nejprve se musíme naučit, jak přidat jedinečná omezení do tabulky při používání MySQL Workbench 8.0. Otevřete nově nainstalovaný MySQL Workbench 8.0 a připojte jej k databázi.

V oblasti dotazu musíte napsat následující příkaz a vytvořit tabulku „Osoba“. Tato tabulka má 4 sloupce s jedním primárním klíčem. Musíme určit jeden jedinečný sloupec. Jak vidíte, vymazali jsme sloupec „Id“ jako sloupec „JEDINEČNÝ“:

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

Nyní byla vytvořena tabulka „Osoba“ se sloupcem „JEDINEČNÉ“ „ID“. Tabulku najdete pod položkami „Navigátor“ a „Schémata“, zatímco jsou uvedeny v možnosti „Tabulky“.

Při vkládání záznamů, když klepnete na tlačítko „Použít“, zkontroluje vložené záznamy, jak je uvedeno níže. Můžete vidět, že máme jeden duplikovaný záznam na řádcích 3 a 4, který má stejné „ID“. Klepnutím na tlačítko „Použít“ provedete změny.

Na následujícím obrázku generuje chybu, že se duplikoval sloupec „ID“, což je hodnota „13“.

Po opravě záznamu, když použijete změny, bude fungovat správně.

Jedinečné omezení prostřednictvím prostředí příkazového řádku:

V prostředí příkazového řádku MySQL přidáme UNIQUE klíče do jednoho nebo několika sloupců. Nejprve otevřete příkazový řádek a podívejte se na každý z níže uvedených příkladů. Chcete-li použít příkazový shell, zadejte své heslo.

Příklad 01: Na jednom sloupci

V rámci této syntaxe, stejně jako ve specifikaci sloupce, používáme výraz JEDINEČNÝ, který chcete použít zákon o jedinečnosti. Jakmile vložíme nebo změníme hodnotu, která vytváří duplikáty v konkrétním sloupci, bude MySQL modifikaci odmítnout a také bude udělena výjimka. V tomto konkrétním limitu bude omezení sloupců. A můžete to použít také k implementaci jedinečného pravidla jednoho pole. Zde je syntaxe pro jednosloupcový UNIQUE klíč:

>> CREATE TABLE table_name (sloupec datový typ UNIQUE, sloupec datový typ);

Vytvořme tabulku „dodavatel“ v databázi „data“ se třemi sloupci. Sloupec „ID“ je definován jako „JEDINEČNÝ“.

>> CREATE TABLE data.dodavatel (id INT AUTO_INCREMENT NOT NULL UNIQUE, název VARCHAR (50) NOT NULL, Area VARCHAR (50));

Při kontrole můžete vidět, že tabulka zatím nemá žádné záznamy.

>> SELECT * FROM data.dodavatel;

Vložme záznamy do tabulky. První záznam bude do tabulky vložen hladce, jak je znázorněno níže.

Druhý záznam bude znovu vložen hladce, protože ve sloupci „ID“ nemá duplicitní hodnoty. Na druhou stranu má stejnou hodnotu, jakou používá v prvním dotazu ve sloupci „Oblast“.

Po vložení třetího záznamu jsme zadali duplicitní hodnotu „1“, jak jsme uvedli v prvním příkazu vložení. Vygeneruje chybu, že sloupec „ID“ získává duplicitní hodnotu, jak je znázorněno na obrázku níže.

Při opětovné kontrole můžete vidět, že tabulka obsahuje pouze záznam prvních dvou příkazů insert. I když neexistuje žádný záznam z třetího příkazu vložení.

>> SELECT * FROM data.dodavatel;

Příklad 02: Na více sloupcích

V tomto formátu použijeme po výrazu UNIQUE v závorce sadu sloupců oddělených čárkami. Složení hodnot v poli col1 a col2 používá MySQL k určení jedinečnosti.

>> CREATE TABLE table_name (datový typ col1, datový typ col2, UNIQUE (col1, col2));

Vytváříme tabulku „ministr“ v databázi „data“ s pěti sloupci. Sloupec „ID“ je definován jako „JEDINEČNÝ“ a „PRIMÁRNÍ“. Klíčové slovo „CONSTRAINT“ se používá k pojmenování jedinečného omezení klíče jako „uc_add_sal“. Klíčové slovo „JEDINEČNÉ“ se používá k definování JEDINEČNÉHO omezení pro sloupce uvedené v závorkách, např.G., Adresa a „plat“. Nyní máme celkem tři sloupce s omezením „JEDINEČNÉ“.

>> CREATE TABLE data.ministr (Mid INT AUTO_INCREMENT PRIMARY KEY NOT NULL UNIQUE, jméno VARCHAR (50) NOT NULL, adresa VARCHAR (50), Job VARCHAR (50), plat VARCHAR (50), CONSTRAINT uc_add_sal UNIQUE (adresa, plat));

Při kontrole tabulky můžete vidět, že je právě teď prázdná.

>> SELECT * FROM data.ministr;

Vložíme do toho nějaké záznamy. První záznam bude úspěšně přidán do tabulky, protože je to první řádek a neexistuje žádný řádek, se kterým by bylo možné porovnat.

Zadejte další jedinečný záznam bez duplicitních hodnot v libovolném sloupci, jak je uvedeno níže.

Nemá vliv na to, když zadáme duplicitní hodnoty pro sloupce, které na ně nemají žádné omezení „JEDINEČNÉ“. Podívejte se na níže uvedený dotaz. Má duplicitní hodnotu ve sloupcích „Jméno“ a „Úloha“. Funguje správně, protože tyto dva sloupce nemají na sobě definované žádné omezení „JEDINEČNÉ“.

Na druhou stranu, když vložíme duplicitní hodnotu, např.G., „13“ a „Rawalpindi“ vygeneruje chybu, jak je uvedeno níže. Důvodem je, že „13“ a „Rawalpindi“ byly uvedeny dříve.

Při kontrole máme v tabulce pouze tři záznamy vložené prvními třemi dotazy.

>> SELECT * FROM data.ministr;

Závěr:

Ladně jsme provedli všechny příklady definování UNIQUE omezení na jednom a více sloupcích při používání MySQL Workbench 8.0 a prostředí klienta příkazového řádku MySQL. Doufejme, že při řešení problémů týkajících se UNIQUE klíčů nebudete mít žádné problémy.

Hry Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
Nainstalujte si nejnovější strategickou hru OpenRA na Ubuntu Linux
OpenRA je herní engine Libre / Free Real Time Strategy, který obnovuje rané hry Westwood, jako je klasický Command & Conquer: Red Alert. Distribuované...
Hry Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Nainstalujte si nejnovější Dolphin Emulator pro Gamecube a Wii na Linuxu
Emulátor Dolphin vám umožní hrát vybrané hry Gamecube a Wii na osobních počítačích se systémem Linux (PC). Jako volně dostupný herní emulátor s otevř...
Hry Jak používat GameConqueror Cheat Engine v Linuxu
Jak používat GameConqueror Cheat Engine v Linuxu
Tento článek popisuje průvodce používáním cheatovacího modulu GameConqueror v systému Linux. Mnoho uživatelů, kteří hrají hry v systému Windows, často...