MySQL primær nøgle

Oversigt: i denne vejledning lærer du, hvordan du bruger MySQL primær nøglebegrænsning til at oprette den primære nøgle til en tabel.

Introduktion til MySQL primær nøgle

En primær nøgle er en kolonne eller et sæt kolonner, der entydigt identificerer hver række i tabellen. Den primære nøgle følger disse regler:

  • En primær nøgle skal indeholde unikke værdier. Hvis den primære nøgle består af flere kolonner, skal kombinationen af værdier i disse kolonner være unik.
  • En primær nøglekolonne kan ikke have NULL -værdier. Ethvert forsøg på at indsætte eller opdatere NULL til primære nøglekolonner vil resultere i en fejl. Bemærk, at MySQL implicit tilføjer en NOT NULL -begrænsning til primære nøglekolonner.
  • En tabel kan have en og kun en primær nøgle.

Fordi MySQL fungerer hurtigere med heltal skal datatypen i den primære nøglekolonne være heltalet, fx INT, BIGINT. Og du skal sikre dig, at værdiintervaller af heltalstypen for den primære nøgle er tilstrækkelige til at gemme alle mulige rækker, som tabellen kan have.

En primær nøglekolonne har ofte AUTO_INCREMENT -attribut, der automatisk genererer et sekventielt heltal, hver gang du indsætter en ny række i tabellen.

Når du definerer en primær nøgle til en tabel, opretter MySQL automatisk et indeks kaldet PRIMARY.

Eksempler på MySQL PRIMÆRE NØGLE

PRIMARY KEY -begrænsning giver dig mulighed for at definere en primær nøgle i en tabel når du opretter eller ændrer tabel.

1) Definer en PRIMÆR NØGLE-begrænsning i CREATE TABLE

Du definerer typisk den primære nøgle til en tabel i CREATE TABLE udsagn.

Hvis den primære nøgle har en kolonne, kan du bruge PRIMARY KEY begrænsningen som en kolonnebegrænsning:

Code language: SQL (Structured Query Language) (sql)

Når den primære nøgle har mere end en kolonne, skal du bruge th e PRIMARY KEY begrænsning som en tabelbegrænsning.

I denne syntaks adskiller du kolonner i column_list med kommaer ( ,).

PRIMARY KEY tabelbegrænsning kan bruges, når den primære nøgle har en kolonne:

Følgende eksempel opretter en tabel med navnet users hvis primære nøgle er user_id kolonnen:

Denne erklæring opretter roles -tabel, der har PRIMARY KEY -begrænsning som tabelbegrænsning:

Hvis den primære nøgle består af flere kolonner, skal du angive dem i slutningen af CREATE TABLE udsagnet. Du placerer en komma-adskilt liste med primære nøglekolonner inden for parentes efterfulgt af PRIMARY KEY nøgleordene.

Følgende eksempel opretter user_roles tabel, hvis primære nøgle består af to kolonner: user_id og role_id. Det definerer PRIMARY KEY -begrænsning som tabelbegrænsning:

Bemærk, at udsagnet også skabte to begrænsninger for udenlandske nøgler.

2) Definer PRIMÆR Nøglebegrænsninger ved hjælp af ALTER TABLE

Hvis en tabel af nogle årsager ikke har en primær nøgle, kan du bruge sætningen ALTER TABLE til at føje en primær nøgle til tabellen som følger:

Code language: SQL (Structured Query Language) (sql)

Følgende eksempel føjer id kolonnen til den primære nøgle.

Opret først pkdemos -tabellen uden en primær nøgle.

Code language: SQL (Structured Query Language) (sql)

For det andet skal du tilføje en primær nøgle til pkdemos -tabellen ved hjælp af ALTER TABLE udsagnet:

Code language: SQL (Structured Query Language) (sql)

Hvis du tilføjer en primær nøgle til en tabel, der allerede har data. Dataene i kolonnen (e), som vil blive inkluderet i den primære nøgle, skal være entydige og ikke NULL.

PRIMÆR NØGLE vs. UNIK NØGLE vs. NØGLE

KEY er synonymet for INDEX. Du bruger KEY, når du vil oprette et indeks til en kolonne eller et sæt kolonner, der ikke er en del af en primær nøgle eller unik nøgle.

Et UNIQUE -indeks sikrer, at værdier i en kolonne skal være unikke. I modsætning til PRIMARY indekset tillader MySQL NULL værdier i UNIQUE indekset. Derudover kan en tabel have flere UNIQUE indekser.

Antag at email og username af brugere i users -tabellen skal være unik.For at håndhæve disse regler kan du definere UNIQUE indekser for email og username kolonnerne følgende udsagn:

Tilføj et UNIQUE indeks til username kolonnen:

Code language: SQL (Structured Query Language) (sql)

Tilføj et UNIQUE indeks til email kolonnen:

Code language: SQL (Structured Query Language) (sql)

I denne tutorial har du lært, hvordan du opretter en primær nøgle til en ny tabel eller tilføjer en primær nøgle til en eksisterende tabel.

  • Var denne tutorial nyttig?
  • JaNej

Leave a Reply

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *