sqlserver 主键和唯一约束
时间: 2023-08-17 13:06:22 浏览: 88
SQLServer主键和唯一约束的区别
5星 · 资源好评率100%
SQL Server中,主键(Primary Key)和唯一约束(Unique Constraint)都用于确保表中的数据的唯一性。
主键是一种特殊的唯一约束,它要求列中的每个值都是唯一的,并且不允许为空。一个表只能有一个主键。主键可以跨越多个列,这被称为复合主键。
唯一约束也要求列中的每个值都是唯一的,但允许为空值。一个表可以有多个唯一约束,且每个唯一约束可以是单列的或复合的。
在创建表时,可以使用以下语法定义主键和唯一约束:
1. 创建主键:
```
CREATE TABLE 表名 (
列名 数据类型 PRIMARY KEY,
...
);
```
2. 创建复合主键:
```
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...
PRIMARY KEY (列1, 列2, ...)
);
```
3. 创建唯一约束:
```
CREATE TABLE 表名 (
列名 数据类型,
...
CONSTRAINT 约束名 UNIQUE (列名)
);
```
4. 创建复合唯一约束:
```
CREATE TABLE 表名 (
列1 数据类型,
列2 数据类型,
...
CONSTRAINT 约束名 UNIQUE (列1, 列2, ...)
);
```
需要注意的是,主键和唯一约束都可以自动生成索引,以提高查询性能。但主键是一个表的主要标识,通常用于关联其他表,所以更常用于主键上创建索引。
阅读全文