目录搜索
SQL 基础教程SQL 语法SQL SELECT 语句SQL SELECT DISTINCT 语句SQL WHERE 子句SQL AND & OR 运算符SQL ORDER BY 关键字SQL INSERT INTO 语句SQL UPDATE 语句SQL DELETE 语句SQL 函数SQL Date 函数SQL NULL 函数SQL 函数SQL AVG() 函数SQL COUNT() 函数SQL FIRST() 函数SQL LAST() 函数SQL MAX() 函数SQL MIN() FunctionSQL SUM() FunctionSQL GROUP BY 语句SQL HAVING 子句SQL UCASE() 函数SQL LCASE() 函数SQL MID() 函数SQL LEN() 函数SQL ROUND() 函数SQL NOW() 函数SQL FORMAT() 函数SQL 快速参考SQL 主机SQL 高级教程SQL SELECT TOP 子句SQL LIKE 操作符SQL 通配符SQL IN 操作符SQL BETWEEN 操作符SQL 别名(Aliases)SQL 连接(Joins)SQL INNER JOIN 关键字SQL LEFT JOIN 关键字SQL RIGHT JOIN 关键字SQL FULL OUTER JOIN 关键字SQL UNION 操作符SQL SELECT INTO 语句SQL INSERT INTO SELECT 语句SQL CREATE DATABASE 语句SQL CREATE TABLE 语句SQL 约束(Constraints)SQL NOT NULL 约束SQL UNIQUE 约束SQL PRIMARY KEY 约束SQL FOREIGN KEY 约束SQL CHECK 约束SQL DEFAULT 约束SQL CREATE INDEX 语句SQL 撤销索引、撤销表以及撤销数据库SQL ALTER TABLE 语句SQL AUTO INCREMENT 字段SQL 视图(Views)MySQL NOW() 函数MySQL CURDATE() 函数MySQL CURTIME() 函数MySQL DATE() 函数MySQL EXTRACT() 函数MySQL DATE ADD() 函数MySQL DATE SUB() 函数MySQL DATEDIFF() 函数MySQL DATE FORMAT() 函数SQL Server GETDATE() 函数SQL Server DATEPART() 函数SQL Server DATEADD() 函数SQL Server DATEDIFF() 函数SQL Server CONVERT() 函数SQL NULL 值SQL 通用数据类型SQL 用于各种数据库的数据类型
文字

SQL PRIMARY KEY 约束



SQL PRIMARY KEY 约束

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

主键必须包含唯一的值。

主键列不能包含 NULL 值。

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


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)
)

注释:在上面的实例中,只有一个主键 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 KEY

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID

上一篇:下一篇: