SQL ELSŐDLEGES KULCS: Létrehozása és hozzáadása meglévő táblázathoz
Mi az elsődleges kulcs az SQL-ben?
Elsődleges kulcs egy mező vagy mezők kombinációja, amely egyedileg azonosítja a rekordot. Az elsődleges kulcs egy oszlop vagy oszlopkészlet, amely egyedi. Más szóval, minden érték egyedi az elsődleges kulcshoz.
Az elsődleges kulcsra vonatkozó szabályok
- Minden táblának csak egy elsődleges SQL kulcsa lehet.
- Minden érték egyedi, és az elsődleges kulcs SQL értéke egyedileg azonosíthatja az egyes sorokat.
- A rendszer nem engedélyezi a táblázatban már meglévő SQL Server elsődleges kulcsú sor beszúrását.
- Az elsődleges kulcs nem lehet NULL.
Az alábbi diagram összefoglalja az SQL elsődleges kulcsra vonatkozó összes fenti pontot.

Elsődleges kulcs létrehozása az SQL Serverben
Létrehozhatunk elsődleges kulcsot 2 mód:
1. SQL Server Management Studio
2. T-SQL: Elsődleges létrehozása új tábla létrehozásakor
SQL Server Management Studio
Step 1) Kattintson a jobb gombbal a táblázat nevére. Kattintson Design.
Step 2) Kattintson a jobb gombbal az oszlop nevére. Kattintson 'Elsődleges kulcs beállítása'
Eredmény: Course_Id most a Elsődleges kulcs.
T-SQL: Elsődleges kulcs létrehozása új tábla létrehozása közben.
Az alábbiakban látható a T-SQL-ből származó elsődleges kulccsal tábla létrehozásának szintaxisa
Syntax:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Hozzon létre egy táblázatot, amely egy oszlopot tartalmaz elsődleges SQL kulcsként.
Keresés:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Step 1) Futtassa a lekérdezést a gombra kattintva – Végrehajt.
Eredmény: Course_Id most a Elsődleges kulcs.
Példa: Nézzük meg, hogy lehetővé teszi-e több rekord bevitelét ugyanazzal a kurzusazonosítóval.
Step 1) Szúrjon be 4 sort a különböző 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');
Step 2) Ellenőrizze az összes beillesztett adatot a Select lekérdezés futtatásával.
Megjegyzések: A Nem elsődleges kulcsba duplikált értékeket szúrhatunk be.
Step 3) Most próbáljuk meg új rekordok beszúrását egy meglévő Course_ID-vel, amely az elsődleges kulcs.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Eredmény: A rendszer nem teszi lehetővé új érték beszúrását, mivel a 4-es a Course_ID oszlop, amely elsődleges kulcs.
Hogyan adhatunk hozzá elsődleges kulcsot a meglévő táblához az SQL-ben?
Most látni fogjuk, hogyan adhatunk hozzá elsődleges kulcsot a meglévő SQL-táblázathoz:
Az ALTER utasítással elsődleges kulcsot hozhat létre. Az elsődleges kulcs azonban csak a NEM NULL-ként definiált oszlopokon hozható létre. Nem hozhat létre elsődleges kulcsot olyan oszlopban, amely engedélyezi a NULL értékeket. Ha meg kell tennie, el kell dobnia, és újra létre kell hoznia a táblázatot.
Íme a szintaxis:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Például:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Hozzáadtunk egy elsődleges kulcs megkötést egy már létező táblához. A kényszer hozzáadásra került a felvételi oszlophoz, és a tanulók_pk nevet kapta.
Érdekes tények!
- Az elsődleges kulcs több oszlop kombinációja is lehet. Ez a kombináció a Összetett elsődleges kulcs.
- Az elsődleges kulcs legfeljebb 16 oszlopot tartalmazhat.
Összegzésként
- Minden táblának csak egy elsődleges kulcsa lehet
- Minden érték egyedi, ami lehet egyedileg azonosítani minden sort.