位置:首頁 > 數據庫 > SQL教學 > SQL主鍵

SQL主鍵

主鍵是一個在一個數據庫表中唯一標識每個行/記錄表中的一個字段。主鍵必須包含唯一值。主鍵列不能有NULL值。

一個表隻能有一個主鍵,它可以由單個或多個字段組成。當多個字段被用來作為主鍵,它們被稱為複合鍵。

如果一個表有任何字段定義為主鍵,那麼就不能有兩個記錄具有字段的值相同。

注:在創建數據庫表,需要使用這些概念。

創建主鍵:

這裡是定義ID屬性為CUSTOMERS表的主鍵的語法。

CREATE TABLE CUSTOMERS(
       ID   INT              NOT NULL,
       NAME VARCHAR (20)     NOT NULL,
       AGE  INT              NOT NULL,
       ADDRESS  CHAR (25) ,
       SALARY   DECIMAL (18, 2),       
       PRIMARY KEY (ID)
);

要在“ID”列創建PRIMARY KEY約束,假設CUSTOMERS表已經存在,使用下麵的SQL語法:

ALTER TABLE CUSTOMER ADD PRIMARY KEY (ID);

注:如果您使用ALTER TABLE語句添加主鍵,主鍵列必須已經被聲明為不包含NULL值(要創建表時)。

對於多個列定義PRIMARY KEY約束,使用下麵的SQL語法:

CREATE TABLE CUSTOMERS(
       ID   INT              NOT NULL,
       NAME VARCHAR (20)     NOT NULL,
       AGE  INT              NOT NULL,
       ADDRESS  CHAR (25) ,
       SALARY   DECIMAL (18, 2),        
       PRIMARY KEY (ID, NAME)
);

當CUSTOMERS表已經存在,要在“ID”和“NAMES”列創建PRIMARY KEY約束,可以使用下麵的SQL語法:

ALTER TABLE CUSTOMERS 
   ADD CONSTRAINT PK_CUSTID PRIMARY KEY (ID, NAME);

刪除主鍵:

您可以清除表主鍵約束,使用語法:

ALTER TABLE CUSTOMERS DROP PRIMARY KEY ;