SQL PRIMÆRNØKKEL: Opprett og legg til i en eksisterende tabell
⚡ Smart oppsummering
En primærnøkkel i SQL Server er en kolonne eller et sett med kolonner hvis verdier unikt identifiserer hver rad i en tabell. Hver tabell inneholder én primærnøkkel, og kolonnene må aldri være NULL.

Hva er primærnøkkel i SQL?
En primærnøkkel i SQL Server er et felt, eller en kombinasjon av felt, som identifiserer en post unikt. Det er en kolonne eller et sett med kolonner der hver verdi er unik. Med andre ord kan ingen to rader dele samme primærnøkkelverdi.
Regler for primærnøkkel
- Hver tabell kan bare ha én primærnøkkel.
- Alle verdiene er unike, og primærnøkkelverdien kan identifisere hver rad unikt.
- Systemet tillater ikke å sette inn en rad med en primærnøkkelverdi som allerede finnes i tabellen.
- En primærnøkkel kan ikke være NULL.
Diagrammet nedenfor oppsummerer alle punktene ovenfor om SQL-primærnøkkelen.
Hvordan lage primærnøkkel i SQL Server
Du kan opprette en primærnøkkel på to måter:
- SQL Server Management Studio
- T-SQL: opprett primærnøkkelen når du oppretter en ny tabell
La oss studere hver metode i detalj.
SQL Server Management Studio
Trinn 1) Høyreklikk på tabellnavnet og klikk på Design.
Trinn 2) Høyreklikk på kolonnenavnet og klikk på Angi primærnøkkel.
Resultat: Course_Id er nå en primærnøkkel, vist med et nøkkelikon ved siden av kolonnen.
T-SQL: Opprett en primærnøkkel mens du oppretter en ny tabell
Nedenfor er syntaksen til lage en tabell med en primærnøkkel fra T-SQL.
Syntaks:
CREATE TABLE <Table_Name> ( Column1 datatype, Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name) . );
Her navngir CONSTRAINT nøkkelen, PRIMARY KEY markerer kolonnen som må forbli unik, og hver kolonne trenger også en data-type.
La oss lage en tabell med én kolonne som SQL-primærnøkkel.
Spørsmål:
CREATE TABLE COURSE_TSQL_PK (Course_ID Int not Null, Course_name Varchar(20) CONSTRAINT PK PRIMARY KEY (Course_ID) )
Trinn 1) Kjør spørringen ved å klikke på Henrette.
Resultat: Course_Id er nå en primærnøkkel i COURSE_TSQL_PK-tabellen.
Eksempel: La oss se om det tillater å legge inn flere poster med samme kurs-ID.
Trinn 1) Sett inn fire rader med forskjellige Course_ID-verdier.
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');
Trinn 2) Bekreft at alle dataene ble satt inn ved å kjøre SELECT-spørringen.
Merk: Du kan sette inn dupliserte verdier i en kolonne som ikke er en primærnøkkel.
Trinn 3) La oss nå prøve å sette inn en ny post med en eksisterende Course_ID, som er primærnøkkelen.
Insert into COURSE_TSQL_PK values (4,'JAVA');
Resultat: Systemet tillater ikke innsetting av den nye verdien, fordi 4 allerede finnes i Course_ID-kolonnen, som er en primærnøkkel.
Hvordan legge til primærnøkkel til eksisterende tabell i SQL?
Nå skal vi se hvordan man legger til en primærnøkkel i en eksisterende tabell i SQL.
Du kan bruke ALTER-setningen til å opprette en primærnøkkel. En primærnøkkel kan imidlertid bare opprettes på kolonner som er definert som NOT NULL. Du kan ikke opprette en primærnøkkel på en kolonne som tillater NULL-er. Hvis en kolonne for øyeblikket tillater NULL-er, må du først endre den til NOT NULL, eller slette og gjenskape tabellen.
Her er syntaksen:
ALTER TABLE tableName ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);
For eksempel:
ALTER TABLE students ADD CONSTRAINT students_pk PRIMARY KEY (admission);
Vi har lagt til en primærnøkkelbegrensning til en allerede eksisterende tabell. Begrensningen er lagt til i opptakskolonnen og tildelt navnet students_pk.
Interessante fakta!
- En primærnøkkel kan være en kombinasjon av flere kolonner. Denne kombinasjonen er kjent som den sammensatte primærnøkkelen.
- En primærnøkkel kan ha maksimalt 16 kolonner.









