Shrnutí: v tomto kurzu se naučíte, jak používat omezení primárního klíče MySQL k vytvoření primárního klíče pro tabulku.
Úvod do primárního klíče MySQL
Primárním klíčem je sloupec nebo sada sloupců, které jednoznačně identifikují každý řádek v tabulce. Primární klíč se řídí těmito pravidly:
- Primární klíč musí obsahovat jedinečné hodnoty. Pokud primární klíč sestává z více sloupců, musí být kombinace hodnot v těchto sloupcích jedinečná.
- Sloupec primárního klíče nemůže mít
NULL
hodnoty. Jakýkoli pokus o vložení nebo aktualizaciNULL
do sloupců primárního klíče bude mít za následek chybu. Upozorňujeme, že MySQL implicitně přidáváNOT NULL
omezení do sloupců primárního klíče. - Tabulka může mít jeden jediný primární klíč.
Protože MySQL funguje rychleji s celými čísly by datovým typem sloupce primárního klíče mělo být celé číslo, např. INT,
BIGINT
. A měli byste se ujistit, že rozsahy hodnot celého čísla pro primární klíč jsou dostatečné pro uložení všech možných řádků, které může tabulka obsahovat.
Sloupec primárního klíče často obsahuje AUTO_INCREMENT
atribut, který automaticky generuje sekvenční celé číslo, kdykoli vložíte nový řádek do tabulky.
Když definujete primární klíč pro tabulku, MySQL automaticky vytvoří index s názvem PRIMARY
.
Příklady PRIMÁRNÍHO KLÍČE MySQL
Omezení PRIMARY KEY
umožňuje definovat primární klíč tabulky když vytváříte nebo měníte tabulku.
1) Definujte omezení PRIMARY KEY v CREATE TABLE
Obvykle definujete primární klíč pro tabulku v CREATE TABLE
prohlášení.
Pokud má primární klíč jeden sloupec, můžete použít omezení PRIMARY KEY
jako omezení sloupce:
Code language: SQL (Structured Query Language) (sql)
Pokud má primární klíč více než jeden sloupec, musíte použít th e PRIMARY KEY
omezení jako omezení tabulky.
V této syntaxi oddělujete sloupce v column_list
čárkami ( ,).
Omezení tabulky PRIMARY KEY
lze použít, pokud má primární klíč jeden sloupec:
Následující příklad vytvoří tabulku s názvem users
jehož primárním klíčem je sloupec user_id
:
Toto prohlášení vytvoří roles
tabulka, která má omezení PRIMARY KEY
jako omezení tabulky:
Pokud se primární klíč skládá z více sloupců, musíte je na konci určit prohlášení CREATE TABLE
. Do závorek vložíte seznam sloupců primárního klíče oddělených čárkami a následujete klíčová slova PRIMARY KEY
.
Následující příklad vytvoří user_roles
tabulka, jejíž primární klíč se skládá ze dvou sloupců: user_id
a role_id
. Definuje omezení PRIMARY KEY
jako omezení tabulky:
Všimněte si, že příkaz také vytvořil dvě omezení cizího klíče.
2) Definujte PRIMÁRNÍ KLÍČOVÁ omezení pomocí ALTER TABLE
Pokud tabulka z nějakých důvodů nemá primární klíč, můžete pomocí příkazu ALTER TABLE
přidat primární klíč do následující tabulka:
Code language: SQL (Structured Query Language) (sql)
Následující příklad přidá sloupec id
do primárního klíče.
Nejprve vytvořte tabulku pkdemos
bez primárního klíče.
Code language: SQL (Structured Query Language) (sql)
Zadruhé, přidejte primární klíč k tabulce pkdemos
pomocí příkazu ALTER TABLE
:
Code language: SQL (Structured Query Language) (sql)
Pokud přidáte primární klíč k tabulce, která již obsahuje data. Data ve sloupcích, která budou zahrnuta do primárního klíče, musí být jedinečná a nikoli NULL.
PRIMÁRNÍ KLÍČ vs. UNIKÁTNÍ KLÍČ vs. KLÍČ
KEY
je synonymum pro INDEX
. KEY
použijete, když chcete vytvořit index pro sloupec nebo sadu sloupců, které nejsou součástí primárního klíče nebo jedinečného klíče.
UNIQUE
index zajišťuje, že hodnoty ve sloupci musí být jedinečné. Na rozdíl od PRIMARY
indexu MySQL umožňuje NULL
hodnoty v UNIQUE
indexu. Kromě toho může tabulka obsahovat více UNIQUE
indexů.
Předpokládejme, že email
a username
uživatelů v tabulce users
musí být jedinečný.Chcete-li tato pravidla prosadit, můžete definovat UNIQUE
indexy pro sloupce email
a username
jako následující prohlášení:
Přidejte UNIQUE
index do sloupce username
:
Code language: SQL (Structured Query Language) (sql)
Přidejte UNIQUE
index do sloupce email
:
Code language: SQL (Structured Query Language) (sql)
V tomto výukovém programu jste se naučili, jak vytvořit primární klíč pro novou tabulku nebo přidat primární klíč k existující tabulce.
- Byl tento návod užitečný?
- Ano Ne