点击上方渣渣张的自白,关注获取SQL视频教程
SQL专栏
SQL数据库基础汇总基本介绍
PRIMARY KEY 主键约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
PRIMARY KEY 作用
保持数据的一致性,完整性,唯一性。
在 "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 :
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 约束
MySQL / SQL Server / Oracle :
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 约束
MySQL / SQL Server / Oracle :
ALTER TABLE Persons ADD PRIMARY KEY (P_Id)
命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束
MySQL / SQL Server / Oracle :
ALTER TABLE PersonsADD CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
注意:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。
撤销 PRIMARY KEY 约束
MySQL:
ALTER TABLE Persons DROP PRIMARY KEY
SQL Server / Oracle :
ALTER TABLE Persons DROP CONSTRAINT pk_PersonID
总结
主键用于唯一地标识表中的每一条记录,可以定义一列或多列为主键。
是不可能(或很难)更新.
主键列上没有任何两行具有相同值(即重复值),不允许空(NULL).
主健可作外健,唯一索引不可;
点击「」了解SQL基础
码字不易,点赞+关注哦