SQL Server主键约束(PRIMARY KEY)

SQL Server主键约束(PRIMARY KEY)

目录

SQL Server PRIMARY KEY(主键)约束简介

SQL Server PRIMARY KEY约束示例

SQL Server PRIMARY KEY(主键)约束简介

主键是唯一标识表中每一行的一列或一组列。您可以使用主键约束为表创建主键。
如果主键仅包含一列,你可以使用PRIMARY KEY约束作为列约束:

CREATE TABLE table_name ( pk_column data_type PRIMARY KEY, ... );

如果主键有两列或多列,则必须将主键约束用作表约束:

CREATE TABLE table_name ( pk_column_1 data_type, pk_column_2 data type, ... PRIMARY KEY (pk_column_1, pk_column_2) );

每个表只能包含一个主键,一个主键可以包含多个列,即多个列的组合不能重复。参与主键的所有列必须定义为NOT NULL。如果未为所有主键列指定NOT NULL约束,SQL Server会自动为这些列设置非空约束。

SQL Server PRIMARY KEY约束示例

以下示例创建了一个具有主键的表,主键由一列组成:

CREATE TABLE dbo.activities ( activity_id INT PRIMARY KEY IDENTITY,--主键 activity_name VARCHAR (255) NOT NULL, activity_date DATE NOT NULL );

在表dbo.activities中,activity_id列是主键列,意味着这一列的值不能重复

IDENTITY属性用于activity_id列自动生成唯一的整数值。

下面创建一个由两列组成外键的新表:

CREATE TABLE dbo.participants( activity_id int, customer_id int, PRIMARY KEY(activity_id, customer_id) );

在本例中,activity_idcustomer_id列中的值可以重复,但两列中的每个值组合都必须是唯一的。

通常,表总是在创建时定义主键。然而,有时,现有表可能没有定义主键。在这种情况下,可以使用ALTER TABLE语句向表中添加主键。比如示例:

先创建一个没有主键列的表:

CREATE TABLE dbo.events( event_id INT NOT NULL, event_name VARCHAR(255), start_date DATE NOT NULL, duration DEC(5,2) );

然后使event_id列成为主键:

ALTER TABLE sales.events ADD PRIMARY KEY(event_id);

注意,如果 sales.events 表已经有数据,在将 event_id 列提升为主键之前,必须确保 event_id 中的值是不重复的。

到此这篇关于SQL Server主键约束(PRIMARY KEY)的文章就介绍到这了,更多相关SQL Server主键约束内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    怎么设置主键|access怎么设置主键

    怎么设置主键|access怎么设置主键,,access怎么设置主键Access是一款功能强大的关系数据库管理系统,该软件具备开发软件功能,可以帮助用户开

    电脑上的硬盘简介|电脑磁盘介绍

    电脑上的硬盘简介|电脑磁盘介绍,,1. 电脑磁盘介绍C盘,D盘,,E盘,F盘是一块硬盘上的不同分区,是为数据管理方便而划分的数据存储区域。一般来说,C

    苹果计算机外设:挂盘工具简介

    苹果计算机外设:挂盘工具简介,,通常,当我们使用苹果电脑时,我们经常连接到一些外部设备,例如:外部硬盘、MO驱动器等,但在某些情况下,即使线路正常

    电脑系统标志|电脑标识大全

    电脑系统标志|电脑标识大全,,电脑标识大全转 1、机器外壳上有音乐符号的是惠普旗下的康柏品牌电脑。 2、康柏电脑,是由三位来自德州仪器公

    金鹏手机 金鹏手机公司简介

    金鹏手机 金鹏手机公司简介,金鹏手机,我去年买了部金鹏手机,质量不太好,买手机时赠送了两块电池,其中一块充了3天就坏了,而且金鹏属于杂牌机,个

    联想公司简介|联想公司简介1500字

    联想公司简介|联想公司简介1500字,,联想公司简介1500字全球PC领导企业新联想是一家极富创新性的国际化的科技公司,由联想及原IBM个人电脑事

    lua的弱表(weak table)简介

    lua的弱表(weak table)简介,字符串,对象, 变量和值的区别变量是值的载体,变量消失,值却不一定消失objectTables, functions,