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.

Kuidas luua SQL Serveris esmast võtit
Saame luua esmase võtme 2 viisi:
2. T-SQL: uue tabeli loomisel looge esmane
SQL Serveri haldusstuudio
Step 1) Paremklõpsake tabeli nimel. Klõpsake edasi Disain.
Step 2) Paremklõpsake veeru nimel. klõpsake 'Määra esmane võti'
Tulemus: Course_Id on nüüd a 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.'
Tulemus: Course_Id on nüüd a 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.
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.
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);
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.








