先筆記。
PRIMARY KEY 用來保證欄位在資料表中的唯一性,主鍵欄位中的每一筆資料在資料表中都必需是獨一無二的。
PRIMARY KEY有點類似UNIQUE加上NOT NULL。一個資料表中只能有一個PRIMARY KEY;但是可以有多個UNIQUE。PRIMARY KEY Constraint假設我們要將「customer」資料表中的「C_Id」欄位設為主鍵:
在建立資料表同時 - CREATE TABLE...
MySQL
CREATE TABLE customer
(
C_Id INT NOT NULL,
Name VARCHAR(50) NOT NULL,
Address VARCHAR(255),
Phone VARCHAR(20),
PRIMARY KEY (C_Id)
);
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE customer
(
C_Id INT NOT NULL PRIMARY KEY,
Name VARCHAR(50) NOT NULL,
Address VARCHAR(255),
Phone VARCHAR(20)
);
替主鍵命名與多欄位的組合鍵
MySQL / SQL Server / Oracle / MS Access
CREATE TABLE customer
(
C_Id INT NOT NULL,
Name VARCHAR(50) NOT NULL,
Address VARCHAR(255),
Phone VARCHAR(20),
CONSTRAINT pk_Customer_Id PRIMARY KEY (C_Id, Name)
);我們限制C_Id及Name這兩個欄位為主鍵,CONSTRAINT後面接著的即是此主鍵的名稱。當主鍵包含多個欄位時,我們稱之為組合鍵(Composite Key)。
更改資料表限制 - ALTER TABLE...
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE customer
ADD PRIMARY KEY (C_Id);
替主鍵命名與多欄位的組合鍵
MySQL / SQL Server / Oracle / MS Access
ALTER TABLE customer
ADD CONSTRAINT u_Customer_Id PRIMARY KEY (C_Id, Name);
移除資料表限制 - ALTER TABLE...
MySQL
ALTER TABLE customer
DROP PRIMARY KEY;
SQL Server / Oracle / MS Access
ALTER TABLE customer
DROP CONSTRAINT pk_PersonID;
來源參考:http://webdesign.piipo.com/sql/sql_primary_key
沒有留言:
張貼留言