请稍候,加载中....

PRIMARY KEY 约束

PRIMARY KEY 约束

PRIMARY KEY(主键) 约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值。

主键列不能包含 NULL 值。

每个表都应该有一个主键,并且每个表只能有一个主键。

 


MySQL主键示例

CREATE TABLE users
(
user_id int NOT NULL,
username varchar(255) NOT NULL,
city varchar(255),
PRIMARY KEY (user_id)
)

 


MS Server/Oracle示例

适用于MS SQLServer、Oracle、Access

CREATE TABLE users
(
user_id int NOT NULL PRIMARY KEY,
username varchar(255) NOT NULL,
city varchar(255)
)

可以对PRIMARY KEY 约束命名,另外也可以在多个列上定义PRIMARY KEY 约束

CREATE TABLE users
(
user_id int NOT NULL,
username varchar(255) NOT NULL,
city varchar(255),
CONSTRAINT pk_uid PRIMARY KEY (user_Id, username)
)

注释:在上面的实例中,只有一个主键 PRIMARY KEY(pk_uid)。然而,pk_uid 的值是由两个列(user_id和username)组成的。

 


更改主键约束

当表已被创建时,如需在 "user_id" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:

ALTER TABLE users
ADD PRIMARY KEY (user_id)

如需命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束,请使用下面的 SQL 语法:

ALTER TABLE users
ADD CONSTRAINT pk_uid PRIMARY KEY (user_id, username)

注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。

 


撤销主键约束

如需撤销 PRIMARY KEY 约束,请使用下面的 SQL:

MySQL

ALTER TABLE users
DROP PRIMARY KEY

SQL Server / Oracle / MS Access

ALTER TABLE users
DROP CONSTRAINT pk_uid

 


Python学习手册-