SQL-i ESMAVÕTI: kuidas luua ja lisada olemasolevasse tabelisse

Mis on SQL-i esmane võti?

Esmane võti on väli või väljade kombinatsioon, mis tuvastab kirje kordumatult. Esmane võti on kordumatu veerg või veergude komplekt. Teisisõnu, iga väärtus on esmase võtme jaoks unikaalne.

Primaarvõtme reeglid

  • Igal tabelis võib olla ainult üks SQL-i esmane võti.
  • Kõik väärtused on kordumatud ja esmase võtme SQL-i väärtus saab iga rea ​​kordumatult tuvastada.
  • Süsteem ei luba sisestada rida SQL Serveri esmase võtmega, mis on tabelis juba olemas.
  • Esmane võti ei saa olla NULL.

Allolev diagramm võtab kokku kõik ülaltoodud punktid SQL-i esmase võtme kohta.

SQL-i esmase võtme reeglid
Kuidas primaarvõtme SQL töötab

Kuidas luua SQL Serveris esmast võtit

Saame luua esmase võtme 2 viisi:

1. SQL Serveri haldusstuudio

2. T-SQL: uue tabeli loomisel looge esmane

SQL Serveri haldusstuudio

Step 1) Paremklõpsake tabeli nimel. Klõpsake edasi Disain.

Looge SQL Serveris esmane võti

Step 2) Paremklõpsake veeru nimel. klõpsake 'Määra esmane võti'

Looge SQL Serveris esmane võti

Tulemus: Course_Id on nüüd a Esmane võti.

Looge SQL Serveris esmane võti

T-SQL: looge uue tabeli loomisel esmane võti.

Allpool on süntaks T-SQL-i esmase võtmega tabeli loomiseks

süntaksit:

CREATE TABLE <Table_Name>
(
Column1 datatype,
Column2 datatype,CONSTRAINT <Name> PRIMARY KEY (Column name)
.
);

Loome tabeli ühe veeruga SQL-i esmase võtmena.

Päring:

CREATE TABLE COURSE_TSQL_PK 
(Course_ID Int not Null,
 Course_name Varchar(20)
 CONSTRAINT PK PRIMARY KEY (Course_ID)	
)

Step 1) Käivitage päring, klõpsates nuppu 'Teosta.'

Looge uue tabeli loomisel esmane võti

Tulemus: Course_Id on nüüd a Esmane võti.

Looge uue tabeli loomisel esmane võti

Näide: Vaatame, kas see võimaldab sisestada mitut kirjet sama kursuse ID-ga.

Step 1) Sisestage 4 rida erinev 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) Kontrollige kõiki sisestatud andmeid edukalt, käivitades päringu Select.

Looge uue tabeli loomisel esmane võti

märkused: Saame mitteprimaarsesse võtmesse sisestada dubleerivaid väärtusi.

Step 3) Nüüd proovime sisestada uusi kirjeid olemasoleva Course_ID-ga, mis on esmane võti.

Insert into COURSE_TSQL_PK values (4,'JAVA');

Tulemus: Süsteem ei luba uut väärtust sisestada, kuna 4 on veerg Course_ID, mis on primaarvõti.

Looge uue tabeli loomisel esmane võti

Kuidas lisada SQL-is olemasolevasse tabelisse esmast võtit?

Nüüd näeme, kuidas lisada SQL-is olemasolevasse tabelisse esmane võti:

Primaarvõtme loomiseks saate kasutada käsku ALTER. Kuid primaarvõtit saab luua ainult veergudele, mis on määratletud kui NOT NULL. Te ei saa luua primaarvõtit veerus, mis lubab NULL-e. Kui teil on vaja seda teha, peate tabeli maha viskama ja uuesti looma.

Siin on süntaks:

ALTER TABLE tableName
ADD CONSTRAINT constraintName PRIMARY KEY (column_1, column_2, ... column_n);

Näiteks:

ALTER TABLE students
ADD CONSTRAINT students_pk PRIMARY KEY (admission);

Lisage SQL-is olemasolevasse tabelisse esmane võti

Lisasime primaarvõtme piirangu juba olemasolevale tabelile. Piirang on lisatud sisseastumisveergu ja sellele on määratud nimi õpilaste_pk.

Huvitavaid fakte!

  • Esmane võti võib olla mitme veeru kombinatsioon. Seda kombinatsiooni tuntakse kui Komposiitne esmane võti.
  • Peamisel võtmel võib olla kuni 16 veergu.

kokkuvõte

  • Igal tabelil võib olla ainult üks esmane võti
  • Kõik väärtused on ainulaadsed identifitseerida iga rida kordumatult.

Võta see postitus kokku järgmiselt: