数据库教程:SQL Server主键约束(PRIMARY KEY)

sql server primary key(主键)约束简介主键是唯一标识表中每一行的一列或一组列。您可以使用主键约束为表创建主键。如果主键仅包含一列,你可以使用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主键约束内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!

需要了解更多数据库技术:SQL Server主键约束(PRIMARY KEY),都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/1239908.html

(0)
上一篇 2022年9月18日
下一篇 2022年9月18日

精彩推荐