Database
 sql >> Baza danych >  >> RDS >> Database

Klucz podstawowy SQL

Pole zawierające unikatowe dane w tabeli nazywane jest KLUCZEM PODSTAWOWYM (PK). Oznacza to, że pole PRIMARY KEY musi zawierać unikalne dane w tabeli.

  • Pole PRIMARY KEY zawiera wartości w każdym wierszu.
  • Pole PRIMARY KEY nie może zawierać pustego ciągu.
  • Dane PRIMARY KEY nigdy nie zmieniają się w czasie.
  • Tabela może składać się tylko z jednego KLUCZA PODSTAWOWEGO, który może składać się z jednego lub wielu pól w tabeli. Gdy więcej niż jedna kolumna jest używana jako KLUCZ PODSTAWOWY tabeli, są one znane w tabeli jako klucz złożony.
  • Nie będzie zduplikowanych rekordów dla klucza podstawowego.
  • Jeśli pole jest ustawione jako KLUCZ PODSTAWOWY w tabeli, to pole nie może zawierać wartości tego samego pola więcej niż raz w tabeli.

Na przykład w bazie danych mamy tabelę Student. Tabela zawiera 4 pola Student_Id, Student_Name, Phone_Number i Email. Student_Id i Email to KLUCZ PODSTAWOWY w tabeli Student. Istnieje tylko jeden KLUCZ PODSTAWOWY, ale może mieć jedno lub wiele pól w tabeli, jak powiedzieliśmy powyżej. Dane jednego ucznia znajdują się już w tabeli, ale ten sam uczeń ponownie dodaje swoje dane z tym samym identyfikatorem e-mail. Gdy uczeń wprowadzi szczegóły, wyskakujące okienko wyświetli komunikat „E-mail już istniał”. Jest to widoczne, ponieważ w tabeli już istniała wiadomość e-mail, a pole adresu e-mail to KLUCZ PODSTAWOWY, a KLUCZ PODSTAWOWY nie może zawierać zduplikowanych wartości.

Utwórz klucz podstawowy w tabeli SQL

Poniższe zapytanie SQL tworzy KLUCZ PODSTAWOWY w polu Identyfikator_Pracownika podczas tworzenia tabeli „Pracownik”.

CREATE TABLE Employee( Employee_Id int PRIMARY KEY, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40) );        

W powyższym zapytaniu zdefiniowano KLUCZ PODSTAWOWY do pola Employee_Id. Możemy wymienić nazwę klucza po nazwie pola i typie danych. Powyższe zapytanie jest jedynym sposobem, w jaki możemy utworzyć identyfikator_pracownika jako klucz podstawowy.

Aby sprawdzić, czy nasz KLUCZ PODSTAWOWY jest pomyślnie zdefiniowany, czy nie, możemy użyć polecenia DESC, a następnie nazwy tabeli Pracownik.

Pracownik DESC;

Pola Typ Brak Klucz Domyślne Dodatkowe
Identyfikator pracownika Int(11) NIE PRI NULL
Nazwa_pracownika Varchar(40) NIE NULL
Wynagrodzenie Int(11) NIE NULL
Dział Varchar(40) TAK NULL
Miasto Varchar(40) TAK NULL

Pole klucza PRI jest wymienione przed wierszem Employee_Id, co oznacza, że ​​Employee_Id został pomyślnie zdefiniowany jako KLUCZ PODSTAWOWY.

Zalety używania PRIMARY KEY w tabeli:

  1. Szybki dostęp do danych z tabeli.
  2. Zduplikowane wartości nie są dozwolone w polach KLUCZ PODSTAWOWY.

Inny sposób na utworzenie KLUCZA PODSTAWOWEGO

CREATE TABLE Employee( Employee_Id int NOT NULL, Employee_Name varchar(40) NOT NULL, Salary int NOT NULL, Department varchar(40), City varchar(40), PRIMARY KEY(Employee_ID) );

W tym samym zapytaniu co powyżej, przed nazwą pola, które jest tworzone jako PRIMARY KEY, musimy wpisać NOT NULL, a na końcu musimy wpisać słowo kluczowe PRIMARY KEY i nazwę pola w nawiasach, tak jak powyżej zapytanie.

Utwórz ograniczenie PRIMARY KEY w polach, gdy tabela już istnieje

Użyj następującego zapytania:

ALTER TABLE Employee ADD PRIMARY KEY(Employee_Id);

Używając zapytania ALTER TABLE do zdefiniowania PRIMARY KEY, pole PRIMARY KEY zostało już zadeklarowane z ograniczeniem NOT NULL.

KLUCZ PODSTAWOWY SQL w wielu kolumnach

Poniższe zapytanie SQL tworzy KLUCZ PODSTAWOWY w więcej niż jednej kolumnie podczas tworzenia tabeli „Uczeń”.

CREATE TABLE Student( Student_Id int NOT NULL, Student_Name varchar(40), Department varchar(40), Phone_Number int(10), Email varchar(100) NOT NULL, PRIMARY KEY(Student_ID, Email));

W przykładzie na Student_Id i E-mail jest tylko jeden KLUCZ PODSTAWOWY.

Aby sprawdzić, czy nasz KLUCZ PODSTAWOWY jest pomyślnie zdefiniowany, czy nie, możemy użyć polecenia DESC, a następnie nazwy tabeli Uczeń.

DESC Student;
Pola Typ Brak Klucz Domyślne Dodatkowe
Identyfikator studenta Int(11) NIE PRI NULL
Nazwa_ucznia Varchar(40) TAK NULL
Dział Varchar(40) TAK NULL
Numer_telefonu Int(10) TAK NULL
E-mail Varchar(100) NIE PRI NULL

Jak widać przed wierszem Student_Id i Email, wymienione są pola Key PRI, co oznacza, że ​​Student_Id i Email są pomyślnie zdefiniowane jako PRIMARY KEY.

Teraz wykonamy SHOW CREATE TABLE, a następnie nazwę tabeli Student, która będzie opisywać tabelę Student.

SHOW CREATE TABLE Student;

W powyższym wyniku widzimy, że tworzony jest tylko jeden KLUCZ PODSTAWOWY, aw nawiasie wymieniono nazwę pola, która jest tworzona jako KLUCZ PODSTAWOWY podczas tworzenia tabeli.

Załóżmy, że chcemy usunąć ograniczenie PRIMARY KEY z tabeli uczniów. Użyjemy następującego zapytania, aby usunąć ograniczenie PRIMARY KEY:

ALTER TABLE Student DROP PRIMARY KEY;

Aby sprawdzić, czy nasz KLUCZ PODSTAWOWY został pomyślnie usunięty, czy nie, użyjemy polecenia DESC, a następnie nazwy tabeli Uczeń.

DESC Student;
Pola Typ Brak Klucz Domyślne Dodatkowe
Identyfikator studenta Int(11) NIE NULL
Nazwa_ucznia Varchar(40) TAK NULL
Dział Varchar(40) TAK NULL
Numer_telefonu Int(10) TAK NULL
E-mail Varchar(100) NIE NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie serwera połączonego ODBC bez konfigurowania źródła danych

  2. System automatycznej poczty e-mail do wysyłania raportu podsumowującego bazy danych

  3. 12 najczęściej używanych operatorów SQL

  4. Zrozumienie utraty zdarzeń z rozszerzonymi zdarzeniami

  5. Operator SQL IN dla początkujących