SQL Server主键约束怎么创建

网友投稿 398 2023-11-22

SQL Server主键约束怎么创建

这篇“SQL Server主键约束怎么创建”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SQL Server主键约束怎么创建”文章吧。

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

SQL Server主键约束怎么创建

主键是唯一标识表中每一行的一列或一组列。您可以使用主键约束为表创建主键。

如果主键仅包含一列,你可以使用PRIMARY KEY约束作为列约束:CREATE TABLEtable_name (     pk_column data_type PRIMARYKEY,     ... );

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

CREATE TABLEtable_name (     pk_column_1 data_type,     pk_column_2data type,     ...     PRIMARY KEY(pk_column_1, pk_column_2) );

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

SQL Server PRIMARY KEY约束示例

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

CREATE TABLEdbo.activities (     activity_idINT PRIMARY KEY IDENTITY,--主键     activity_name VARCHAR (255NOT NULL,     activity_dateDATE NOT NULL );

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

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

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

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

在本例中,activity_id或customer_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 TABLEsales.eventsADD PRIMARY KEY(event_id);

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

以上就是关于“SQL Server主键约束怎么创建”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL乐观锁和悲观锁如何实现
下一篇:Redis RESP协议如何实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~