MySQL je RDBMS (systém správy relačních databází), který je vlastněn společností Oracle Corporation a zděděn od standardního SQL. Umožňuje přístup a manipulaci s databázemi. Každý, kdo zná slovo „databáze“, musí mít znalosti primárního a cizího klíče. Neexistuje koncept relační databáze bez existence a myšlenky konceptů primárních klíčů a cizích klíčů. V tomto článku se tedy budeme učit o důležitosti a správném použití primárního a cizího klíče v MySQL.
The primární klíč může být jakékoli pole nebo sloupec tabulky, což by měla být jedinečná a nenulová hodnota pro každý záznam nebo řádek.
The Cizí klíč je pole, které obsahuje primární klíč nějaké jiné tabulky k navázání vzájemného spojení.
Pojďme se podívat na syntaxi a různé příklady pro vytvoření primárního a cizího klíče v MySQL.
Primární klíče
Můžeme vytvořit primární klíč na segmentu tabulky pomocí ALTER TABLE.
Primární klíč při vytváření tabulky
Předpokládejme, že chceme vytvořit tabulku knih v MySQL, která obsahuje ID, název a kategorii knihy, ve které bude sloupec ID primárním klíčem.
Dotaz na vytvoření takové tabulky a vytvoření sloupce ID a sloupce primárního klíče bude vypadat takto:
VYTVOŘIT TABULKU knihy (book_id INT NENÍ NULL,
book_name VARCHAR (255) NOT NULL,
book_category VARCHAR (255),
PRIMÁRNÍ KLÍČ (book_id)
);
V této syntaxi můžeme definovat omezení na konci dotazu.
Pokud popíšeme tabulku,
Knihy DESC;Ve sloupci klíče vidíme, že book_id je nastaven jako primární klíč tabulky.
Zrušte primární klíč
Místo přidání, pokud chceme odstranit nebo zrušit primární klíč, použije se příkaz ALTER.
ALTER TABLE knihyDROP PRIMARY KEY;
Jedná se tedy o to, jak můžeme vytvořit a odstranit primární klíč v tabulce.
Vytvoření primárního klíče pomocí ALTER TABLE
Abychom definovali primární klíč, můžeme použít ALTER TABLE.
ALTER TABLE knihyPŘIDAT PRIMÁRNÍ KLÍČ (book_id);
Primární klíč byl úspěšně přidán. Pojďme se nyní seznámit se zahraničními klíči.
Zahraniční klíče
Stejně jako primární klíče lze i cizí klíče definovat při definování tabulky pomocí příkazu ALTER TABLE.
Cizí klíč při vytváření tabulky
V sekci primárního klíče jsme vytvořili tabulku pro knihy. Předpokládejme, že v naší databázi máme další tabulku autorů, která obsahuje ID autora jako primární klíč, křestní jméno autora a příjmení,
Autoři DESC;A chceme vytvořit cizí klíč k ID autora v tabulce knih. Abychom při vytváření tabulky knih vytvořili cizí klíč na author_id, spustíme tento dotaz:
VYTVOŘIT TABULKU knih (book_id INT NENÍ NULL,
book_name VARCHAR (255) NOT NULL,
book_category VARCHAR (255),
autor_id INT,
PRIMÁRNÍ KLÍČ (book_id),
ZAHRANIČNÍ KLÍČ (autor_id) REFERENCE autoři (autor_id)
);
Zrušte cizí klíč
Vyřazení cizího jazyka není stejné jako vyřazení primárního klíče. Nejprve musíme zjistit název omezení spuštěním příkazu „ZOBRAZIT VYTVOŘIT TABULKU knih“.
ZOBRAZIT VYTVOŘIT TABULKU knih;Potom zadejte název omezení příkazu ALTER TABLE takto:
ALTER TABLE knihyDROP ZAHRANIČNÍ KLÍČ books_ibfk_1;
Takto můžeme vytvořit a odstranit cizí klíč v tabulce.
Primární klíč pomocí příkazu ALTER TABLE
Pro vytvoření cizího klíče na existující tabulce pomocí příkazu ALTER TABLE,
ALTER TABLE knihyPŘIDAT ZAHRANIČNÍ KLÍČ (autor_id) REFERENCE autoři (autor_id);
Pojďme popsat tabulku knih:
Knihy DESC;Vidíme, že autor_id je úspěšně nastaven jako cizí klíč.
souhrn
Dozvěděli jsme se o hloubce a koncepcích primárních klíčů a cizích klíčů. Stejně jako vytvoření, přidání a odstranění primárního nebo cizího klíče v tabulce.