SQL Server主键约束怎么创建

SQL Server主键约束怎么创建

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主键约束怎么创建”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

文章标题:SQL Server主键约束怎么创建,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/23985

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月8日 下午10:49
下一篇 2022年9月8日 下午10:50

相关推荐

  • mysql如何将值转换为二进制

    3种转换方法:1、使用BIN()函数,可以返回指定数字的二进制值的字符串表示形式,语法“BIN(number)”,参数“number”是一个长整型(BIGINT)数。2、使用CONV()函数,可将一个进制转为另一个进制,语法“CONV(number,10,2)”,能返回指定数字的二进制值。3、使用B…

    2022年9月26日
    1.1K00
  • windows浩辰cad看图王怎么对比图纸

    浩辰cad看图王对比图纸的方法: 1、首先点击文件,打开任意一张图纸。 2、然后随便选择一张图纸打开。 3、打开后进入“扩展工具”,选择“图纸比较” 4、分别点击浏览选择旧图纸和新图纸。 5、如果我们要保存比较后的图纸,可以勾选保存图形。 6、设置完成后,点击下方的“比较” 7、比较完成后,会出现一…

    2022年9月21日
    54000
  • word字体放大后如何上移

    word字体放大后上移方法 1、首先鼠标选中需要调整的文字。 2、右键文字,选择字体。 3、点开后,再点击字体的高级选项。找到位置,改成提升。 4、根据你需要的上升高度,填写对应的磅值。之后点击确定,就可以看到文字已经提升了。 关于“word字体放大后如何上移”这篇文章的内容就介绍到这里,感谢各位的…

    2022年9月10日
    76300
  • win7如何清理c盘垃圾不影响系统

    win7清理c盘垃圾不影响系统的方法 1、 双击计算机图标,进入资源管理器。 2、右击C盘,选择属性 3、点击常规,点击磁盘清理。 4、勾选需要清理的文件点击确定即可。 读到这里,这篇“win7如何清理c盘垃圾不影响系统”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会…

    2022年9月24日
    1.4K00
  • SQL增删改操作实例分析

    插入记录 SQL1 插入记录(一) 表exam_record结构 题目描述牛客后台会记录每个用户的试卷作答记录到exam_record表,现在有两个用户的作答记录详情如下:用户1001在2021年9月1日晚上10点11分12秒开始作答试卷9001,并在50分钟后提交,得了90分;用户1002在202…

    2022年9月21日
    73000
  • XML外部实体注入漏洞的示例分析

    一、XML外部实体注入 XML 外部实体注入漏洞也就是我们常说的 XXE 漏洞。XML 作为一种使用较为广泛的数据传输格式,很多应用程序都包含有处理 xml 数据的代码,默认情况下,许多过时的或配置不当的 XML 处理器都会对外部实体进行引用。 如果攻击者可以上传 XML 文档或者在 XML 文档中…

    2022年9月20日
    1.2K00
  • windows 0x80004005错误代码如何解决

    0x80004005错误代码解决方法: 方法一: 1、按下键盘上的“win+r”打开运行。 2、然后在其中输入“regsvr32 softpub.dll”回车确定。 3、弹出修复成功的对话框,点击“确定”。 4、接着再打开运行框,依次输入“regsvr32 wintrust.dll”和“regsvr…

    2022年9月18日
    1.3K00
  • APT组织使用的10大安全漏洞分别是什么

    概述 APT攻击(Advanced Persistent Threat,高级持续性威胁)是利用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式。APT攻击的原理相对于其他攻击形式更为高级和先进,其高级性主要体现在精确的信息收集、高度的隐蔽性、以及使用各种复杂的目标系统/应用程序漏洞等方面。 …

    2022年9月21日
    1.0K00
  • 怎么使用linux命令备份文件夹

    linux命令能备份文件夹。有两种命令用于备份文件夹:1、cp命令,该命令用于复制文件或文件夹,语法为“cp [options] source dest”;2、dump命令,该命令用于备份文件系统,语法为“dump [-cnu][-0123456789]…”。 linux命令备份文件夹 …

    2022年6月29日
    3.5K00
  • ppt中分数如何打出来

    分数打出来ppt方法: 方法一: 名列前茅步,先在想要输入分数的地方“插入”一个“文本框” 第二步,在其中输入数字,再按下回车,然后按下“shift+——”键 第三步,输入完成再按回车并输入数字就能形成一个分数了。 方法二: 名列前茅步,点击“插入”下的“公式”按钮。 第二步,点击第二行第二列的按钮…

    2022年8月29日
    2.8K00
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部