主鍵是一個在一個數(shù)據(jù)庫表中唯一標(biāo)識每個行/記錄表中的一個字段。主鍵必須包含唯一值。主鍵列不能有NULL值。
一個表只能有一個主鍵,它可以由單個或多個字段組成。當(dāng)多個字段被用來作為主鍵,它們被稱為復(fù)合鍵。
如果一個表有任何字段定義為主鍵,那么就不能有兩個記錄具有字段的值相同。
注:在創(chuàng)建數(shù)據(jù)庫表,需要使用這些概念。
這里是定義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”列創(chuàng)建PRIMARY KEY約束,假設(shè)CUSTOMERS表已經(jīng)存在,使用下面的SQL語法:
ALTER TABLE CUSTOMER ADD PRIMARY KEY (ID);
注:如果您使用ALTER TABLE語句添加主鍵,主鍵列必須已經(jīng)被聲明為不包含NULL值(要創(chuàng)建表時)。
對于多個列定義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) );
當(dāng)CUSTOMERS表已經(jīng)存在,要在“ID”和“NAMES”列創(chuàng)建PRIMARY KEY約束,可以使用下面的SQL語法:
ALTER TABLE CUSTOMERS ADD CONSTRAINT PK_CUSTID PRIMARY KEY (ID, NAME);
您可以清除表主鍵約束,使用語法:
ALTER TABLE CUSTOMERS DROP PRIMARY KEY ;