SQL PRIMÄRNYCKEL: Hur man skapar och lägger till i befintlig tabell
Vad är primärnyckel i SQL?
Primärnyckel är ett fält eller en kombination av fält som identifierar en post unikt. Den primära nyckeln är en kolumn eller en uppsättning kolumner som är unika. Med andra ord, varje värde är unikt för Primärnyckel.
Regler för primärnyckel
- Varje tabell kan bara ha en primär SQL-nyckel.
- Alla värden är unika och det primära SQL-värdet kan identifiera varje rad unikt.
- Systemet tillåter inte att infoga en rad med SQL Server Primary Key som redan finns i tabellen.
- Primärnyckel kan inte vara NULL.
Nedanstående diagram sammanfattar alla ovanstående punkter för den primära SQL-nyckeln.

Hur man skapar en primär nyckel i SQL Server
Vi kan skapa en primär nyckel in 2 sätt:
1. SQL Server Management Studio
2. T-SQL: Skapa primär medan du skapar en ny tabell
SQL Server Management Studio
Steg 1) Högerklicka på tabellnamnet. Klicka på Design.
Steg 2) Högerklicka på kolumnnamnet. Klicka på 'Set Primary Key'
Resultat: Course_Id är nu en Primärnyckel.
T-SQL: Skapa en primär nyckel medan du skapar en ny tabell.
Nedan är syntaxen för att skapa tabell med primärnyckel från T-SQL
Syntax:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Låt oss skapa en tabell med en kolumn som en primär nyckel för SQL.
Fråga:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Steg 1) Kör frågan genom att klicka på 'Kör.'
Resultat: Course_Id är nu en Primärnyckel.
Exempelvis: Låt oss se om det tillåter inmatning av flera poster med samma kurs-ID.
Steg 1) Sätt in 4 rader med olika 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');
Steg 2) Verifiera all data som har infogats framgångsrikt genom att köra Select-frågan.
Anmärkningar: Vi kan infoga dubbletter av värden i den icke-primära nyckeln.
Steg 3) Låt oss nu försöka infoga nya poster med ett befintligt Course_ID som är primärnyckel.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Resultat: Systemet tillåter inte att infoga nytt värde eftersom 4 är det Course_ID-kolumn som är en primärnyckel.
Hur lägger man till primärnyckel till befintlig tabell i SQL?
Nu kommer vi att se hur man lägger till primärnyckel till befintlig tabell i SQL:
Du kan använda ALTER-satsen för att skapa en primärnyckel. Primärnyckeln kan dock bara skapas på kolumner som är definierade som NOT NULL. Du kan inte skapa en primärnyckel på en kolumn som tillåter NULL. Om du behöver göra, måste du släppa och återskapa tabellen.
Här är syntaxen:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
Till exempel:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Vi har lagt till en primärnyckelbegränsning till en redan befintlig tabell. Begränsningen har lagts till i antagningskolumnen och tilldelats namnet students_pk.
Intressanta fakta!
- Den primära nyckeln kan vara en kombination av flera kolumner. Denna kombination är känd som Sammansatt primärnyckel.
- Den primära nyckeln kan ha maximalt 16 kolumner.
Sammanfattning
- Varje tabell kan endast ha en primärnyckel
- Alla värden är unika vilket kan identifiera varje rad unikt.