Primární klíč MySQL

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 aktualizaci NULL 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

Leave a Reply

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *