SQL PRIMARY KEY 约束详解
PRIMARY KEY
约束在 SQL 中用于唯一标识表中的每条记录。它是表的一个或多个列的组合,这些列的值必须唯一,并且不能包含 NULL
值。PRIMARY KEY
约束的主要目的是保证数据记录的唯一性和完整性。
特点和使用场景
- 唯一性:
PRIMARY KEY
约束确保列中的值是唯一的,没有两条记录可以拥有相同的主键值。 - 非空性:
PRIMARY KEY
列不能接受NULL
值。 - 索引:
PRIMARY KEY
会自动创建一个唯一索引,这有助于提高查询效率。 - 表的唯一性:每个表只能有一个
PRIMARY KEY
,它可以由单个列或多个列组成,称为复合主键。
SQL PRIMARY KEY 约束语法
在创建表时,可以为特定列定义 PRIMARY KEY
约束:
CREATE TABLE table_name
(
column1 data_type PRIMARY KEY,
column2 data_type,
...
);
或者,为多个列定义一个 PRIMARY KEY
约束:
CREATE TABLE table_name
(
column1 data_type,
column2 data_type,
PRIMARY KEY (column1, column2)
...
);
代码示例
假设我们正在创建一个名为 Persons
的表,其中包含人的 ID、姓氏和名字。我们希望确保 P_Id
(假设为身份证号或员工编号)在整个表中是唯一的,并且每条记录都可以被唯一标识。
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
PRIMARY KEY (P_Id)
);
在这个例子中:
P_Id
列被定义为PRIMARY KEY
,这意味着在插入或更新Persons
表的记录时,P_Id
的值必须是唯一的,不能有两条记录具有相同的P_Id
值。LastName
和FirstName
列没有被定义为主键,它们可以包含重复的值。