SQL PRIMARY KEY 约束

1. SQL PRIMARY KEY 约束

primary key约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值。

主键列不能包含NULL值。

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

 

 

2. create table 时的 SQL primary key 约束

下面的 SQL“Persons” 表创建时在 “P_Id” 列上创建 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)
)

注释:pk_PersonID 主键的值由两列(P_Id、LastName)组成。

 

 

3. 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 约束,使用下面的 SQL

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)

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

 

 

4. 撤销 primary key 约束

撤销 primary key 约束,使用下面的 SQL

MySQL:

ALTER TABLE Persons
DROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

 

 

 

 

来自:菜鸟教程

 

posted @ 2021-07-09 09:04  做梦当财神  阅读(685)  评论(0编辑  收藏  举报