PRIMÁRNÍ KLÍČ SQL: Vytvoření a přidání do existující tabulky
⚡ Chytré shrnutí
Primární klíč v SQL Serveru je sloupec nebo sada sloupců, jejichž hodnoty jednoznačně identifikují každý řádek v tabulce. Každá tabulka obsahuje jeden primární klíč a její sloupce nesmí být nikdy NULL.

Co je primární klíč v SQL?
Primární klíč v SQL Server je pole nebo kombinace polí, která jednoznačně identifikuje záznam. Je to sloupec nebo sada sloupců, ve kterých je každá hodnota jedinečná. Jinými slovy, žádné dva řádky nemohou sdílet stejnou hodnotu primárního klíče.
Pravidla pro primární klíč
- Každá tabulka může mít pouze jeden primární klíč.
- Všechny hodnoty jsou jedinečné a hodnota primárního klíče může jednoznačně identifikovat každý řádek.
- Systém nepovolí vložení řádku, jehož hodnota primárního klíče již v tabulce existuje.
- Primární klíč nemůže být NULL.
Níže uvedený diagram shrnuje všechny výše uvedené body týkající se primárního klíče SQL.
Jak vytvořit primární klíč v SQL Server
Primární klíč můžete vytvořit dvěma způsoby:
- SQL Server Management Studio
- T-SQL: vytvoření primárního klíče při vytváření nové tabulky
Pojďme si každou metodu podrobně prostudovat.
SQL Server Management Studio
Krok 1) Klikněte pravým tlačítkem myši na název tabulky a klikněte na Design.
Krok 2) Klikněte pravým tlačítkem myši na název sloupce a klikněte na Nastavit primární klíč.
Výsledek: Course_Id je nyní primární klíč, zobrazený ikonou klíče vedle sloupce.
T-SQL: Vytvoření primárního klíče při vytváření nové tabulky
Níže je uvedena syntaxe pro vytvořit tabulku s primárním klíčem z T-SQL.
Syntaxe:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Zde CONSTRAINT pojmenovává klíč, PRIMARY KEY označuje sloupec, který musí zůstat jedinečný, a každý sloupec také potřebuje datový typ.
Vytvořme tabulku s jedním sloupcem jako primárním klíčem SQL.
Dotaz:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Krok 1) Spusťte dotaz kliknutím na Provést.
Výsledek: Course_Id je nyní primárním klíčem v tabulce COURSE_TSQL_PK.
Příklad: Podívejme se, zda je možné zadat více záznamů se stejným ID kurzu.
Krok 1) Vložte čtyři řádky s různými hodnotami Course_ID.
Insert into COURSE_TSQL_PK values (1,'SQL'); Insert into COURSE_TSQL_PK values (2,'Python'); Insert into COURSE_TSQL_PK values (3,'SQL'); Insert into COURSE_TSQL_PK values (4,'C');
Krok 2) Spuštěním dotazu SELECT ověřte, zda byla všechna data úspěšně vložena.
Poznámka: Do sloupce, který není primárním klíčem, můžete vložit duplicitní hodnoty.
Krok 3) Nyní zkusme vložit nový záznam s existujícím Course_ID, což je primární klíč.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Výsledek: Systém neumožňuje vložení nové hodnoty, protože ve sloupci Course_ID již existuje hodnota 4, což je primární klíč.
Jak přidat primární klíč do existující tabulky v SQL?
Nyní se podíváme, jak přidat primární klíč do existující tabulky v SQL.
Příkaz ALTER můžete použít k vytvoření primárního klíče. Primární klíč však lze vytvořit pouze pro sloupce, které jsou definovány jako NOT NULL. Primární klíč nelze vytvořit pro sloupec, který povoluje hodnoty NULL. Pokud sloupec aktuálně povoluje hodnoty NULL, musíte jej nejprve změnit na NOT NULL nebo tabulku odstranit a znovu vytvořit.
Zde je syntaxe:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Například:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Do již existující tabulky jsme přidali omezení primárního klíče. Omezení bylo přidáno do sloupce přijetí a bylo mu přiřazeno jméno students_pk.
Zajímavosti!
- Primární klíč může být kombinací více sloupců. Tato kombinace se nazývá složený primární klíč.
- Primární klíč může mít maximálně 16 sloupců.









