SQL Server主键约束怎么创建
这篇“SQLServer主键约束怎么创建”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SQLServer主键约束怎么创建”文章吧。
SQL Server PRIMARY KEY(主键)约束简介主键是唯一标识表中每一行的一列或一组列。您可以使用主键约束为表创建主键。
如果主键仅包含一列,你可以使用PRIMARY KEY
约束作为列约束:
CREATETABLEtable_name(pk_columndata_typePRIMARYKEY,...);
如果主键有两列或多列,则必须将主键约束用作表约束:
CREATETABLEtable_name(pk_column_1data_type,pk_column_2datatype,...PRIMARYKEY(pk_column_1,pk_column_2));
每个表只能包含一个主键,一个主键可以包含多个列,即多个列的组合不能重复。参与主键的所有列必须定义为NOT NULL
。如果未为所有主键列指定NOT NULL
约束,SQL Server会自动为这些列设置非空约束。
以下示例创建了一个具有主键的表,主键由一列组成:
CREATETABLEdbo.activities(activity_idINTPRIMARYKEYIDENTITY,--主键activity_nameVARCHAR(255)NOTNULL,activity_dateDATENOTNULL);
在表dbo.activities
中,activity_id
列是主键列,意味着这一列的值不能重复
IDENTITY
属性用于activity_id
列自动生成唯一的整数值。
下面创建一个由两列组成外键的新表:
CREATETABLEdbo.participants(activity_idint,customer_idint,PRIMARYKEY(activity_id,customer_id));
在本例中,activity_id
或customer_id
列中的值可以重复,但两列中的每个值组合都必须是唯一的。
通常,表总是在创建时定义主键。然而,有时,现有表可能没有定义主键。在这种情况下,可以使用ALTER TABLE
语句向表中添加主键。比如示例:
先创建一个没有主键列的表:
CREATETABLEdbo.events(event_idINTNOTNULL,event_nameVARCHAR(255),start_dateDATENOTNULL,durationDEC(5,2));
然后使event_id
列成为主键:
ALTERTABLEsales.eventsADDPRIMARYKEY(event_id);
注意,如果
sales.events
表已经有数据,在将event_id
列提升为主键之前,必须确保event_id
中的值是不重复的。
以上就是关于“SQLServer主键约束怎么创建”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。