SQL klucz podstawowy
Podstawowym ograniczeniem KEY jednoznacznie identyfikuje każdy rekord w tabeli bazy danych.
Klucze główne musi zawierać wartości unikatowe.
Klucz główny tabeli nie może zawierać wartości NULL.
Większość tabel powinien mieć klucz podstawowy, a każda tabela może mieć tylko jeden klucz podstawowy.
SQL klucz podstawowy na CREATE TABLE
Poniższy SQL tworzy klucz podstawowy na "P_Id" kolumny, gdy "Persons" tworzenia tabeli:
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (P_Id)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
Aby umożliwić nazwanie klucz podstawowy, a do definiowania klucz podstawowy na wielu kolumnach, należy użyć następującej składni SQL:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)
Note: W powyższym przykładzie istnieje tylko jeden klucz podstawowy (pk_PersonID). Jednak wartość klucza podstawowego składa się z dwóch kolumn (p_id + LastName).
SQL klucz podstawowy na ALTER TABLE
Aby utworzyć klucz podstawowy na "P_Id" kolumny, gdy stół jest już utworzony, należy użyć następującego SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD PRIMARY KEY (P_Id)
Aby umożliwić nazwanie klucz podstawowy, a do definiowania klucz podstawowy na wielu kolumnach, należy użyć następującej składni SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
Note: W przypadku korzystania z instrukcji ALTER TABLE, aby dodać klucz podstawowy, kolumna klucz podstawowy (s) musi już zostały zgłoszone nie zawierają wartości NULL (gdy stół został stworzony).
Aby usunąć klucz podstawowy
Aby usunąć klucz podstawowy, użyj następującego SQL:
MySQL:
ALTER TABLE Persons
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID