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.

Regler för primärnyckel i SQL
Hur primärnyckel SQL fungerar

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.

Skapa primärnyckel i SQL Server

Steg 2) Högerklicka på kolumnnamnet. Klicka på 'Set Primary Key'

Skapa primärnyckel i SQL Server

Resultat: Course_Id är nu en Primärnyckel.

Skapa primärnyckel i SQL Server

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.'

Skapa en primär nyckel medan du skapar en ny tabell

Resultat: Course_Id är nu en Primärnyckel.

Skapa en primär nyckel medan du skapar en ny tabell

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.

Skapa en primär nyckel medan du skapar en ny tabell

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.

Skapa en primär nyckel medan du skapar en ny tabell

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);

Lägg till primärnyckel till befintlig tabell i SQL

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.