SQL PRIMARY KEY 约束
来源:互联网 发布:vb算法大全 编辑:程序博客网 时间:2024/06/05 06:16
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含NULL值。
每个表都应该有一个主键,并且每个表只能有一个主键。
CREATE TABLE 时的 SQL PRIMARY KEY 约束
下面的SQL在"Persions"表创建时在"P_ld"列上创建PRIMARY KEY 约束:
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))如需命名PRIMARY KEY 约束,并定义多个列的PRIMARY KEY 约束, 请使用下面的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))注释:在上面的例子中,只有一个主键PRIMARY KEY(pk_PersonID)。然而,pk_PersonID的值是由两个列(P_Id和LastName)组成的。
ALTER TABLE 时的 SQL PRIMARY KEY 约束
当表已被创建时,如需在"P_Id"列创建PRIMARY KEY 约束,请使用下面的SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD PRIMARY KEY (P_Id)如需命名PRIMARY KEY约束,并定义多个列的PRIMARY KEY 约束,请使用下面的SQL语法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。
撤销PRIMARY KEY 约束
如需撤销PRIMARY KEY 约束,请使用下面的SQL:
MySQL:
ALTER TABLE Persons DROP PRIMARY KEYSQL Server / Oracle / MS Access:
ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
笔记列表
撤销PRIMARY KEY约束时,不论约束条件为一列还是多列,对于MySQL,撤销都是
ALTER TABLE Persons DROP PRIMARY KEY
由于PRIMARY KEY唯一性,MYSQL处理办法简单。
但对于 SQL Server / Oracle / MS Access, 一个列
ALTER TABLE Persons DROP CONSTRAINT P_Id若起约束名,也可如下多个列
ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
阅读全文