900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > SQL Server 唯一约束(定义唯一约束 删除唯一约束)

SQL Server 唯一约束(定义唯一约束 删除唯一约束)

时间:2021-10-23 00:06:21

相关推荐

SQL Server  唯一约束(定义唯一约束 删除唯一约束)

文章目录

准备知识定义唯一约束使用SSMS工具定义唯一约束使用SQL方式定义唯一约束方式一:在创建数据表的时候定义唯一约束方式二:修改数据表定义唯一约束 删除唯一约束使用SSMS工具删除唯一约束方式一:在对象资源管理器中删除唯一约束方式二:在表设计器中删除唯一约束 使用SQL方式删除唯一约束

准备知识

    如果要求数据表中的某列不能输入重复值,有两种约束可以做到。一种是主键约束,即该列是数据表的主键;另一种则是唯一约束,对于不是主键的列,唯一约束能够确保不会出现重复值(可以为NULL值)。

    唯一约束允许 NULL 值,这一点与主键约束不同。 不过,当与参与唯一约束的任何值一起使用时,每列只允许一个空值。 外键约束可以引用 唯一约束。

    默认情况下,向表中的现有列添加唯一约束后,数据库引擎将检查列中的现有数据,以确保所有值都是唯一的。 如果向含有重复值的列添加唯一约束, 数据库引擎将返回错误消息,并且不添加约束。

    数据库引擎将自动创建唯一索引来强制执行唯一约束的唯一性要求。 因此,如果试图插入重复行, 数据库引擎将返回错误消息,说明该操作违反了唯一约束,不能将该行添加到表中。 除非显式指定了聚集索引,否则,默认情况下将创建唯一的非聚集索引以强制执行唯一约束。

定义唯一约束

使用SSMS工具定义唯一约束
展开“数据库”,然后展开相应的数据库,再展开数据库中的“表”,右击需要定义唯一约束的数据表,选择“设计”。

进入表设计器界面,点击工具栏的“管理索引和键”按钮,或者右键选择“索引和键”。

进入“索引/键”对话框,点击“添加”。

单击右侧的“类型”,在右侧下拉框中选择“唯一键”。

单击右侧的“列”,点击右边的“…”按钮。

进入索引列对话框,在列名中选择需要添加唯一性约束的属性列,点击“确定”。

在“标识”的“(名称)”中修改唯一约束的名称,点击“关闭”。

点击保存键,或者按Ctrl+F5键进行保存。展开数据表,展开“键”,可以看到定义的唯一约束。

使用SQL方式定义唯一约束
方式一:在创建数据表的时候定义唯一约束
在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口

输入创建SQL代码

USE schoolDB --打开数据库schoolDBGOIF EXISTS(SELECT * FROM sysobjects WHERE name='student') DROP TABLE student--检查student是否已经存在,如果存在,则删除GOCREATE TABLE student --表名为student(StuID int NOT NULL, --学生学号StuName varchar(15) UNIQUE NOT NULL,--学生姓名Sex char(2) NULL,--性别Major varchar(20) NULL, --所选专业)

点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。

点击“执行”按钮,或按住F5,执行SQL代码。

查看数据表中的键。

方式二:修改数据表定义唯一约束
在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口

输入创建SQL代码

USE schoolDB --打开数据库schoolDBGOALTER TABLE studentADD CONSTRAINT UQ_student_StuName UNIQUE(StuName) --将student表中的StuName列定义唯一约束

点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。

点击“执行”按钮,或按住F5,执行SQL代码。

查看数据表中的键。

删除唯一约束

使用SSMS工具删除唯一约束
方式一:在对象资源管理器中删除唯一约束
展开需要删除唯一约束的数据表,然后再展开“键”。

右击需要删除的唯一约束,选择“删除”。

在删除对象界面,点击“确定”,即可完成唯一约束删除。

方式二:在表设计器中删除唯一约束

右击需要删除唯一约束的数据表,选择“设计”。

进入表设计器界面,点击工具栏的“管理索引和键”按钮,或者右键选择“索引和键”。

在“索引/键”对话框中选择需要删除的唯一约束,点击“删除”,完成唯一约束的删除。

使用SQL方式删除唯一约束

在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口

输入创建SQL代码

USE schoolDB --打开schoolDB数据库GOALTER TABLE class DROP CONSTRAINT UQ_class_ClassName --删除表class的唯一约束UQ_class_ClassName

点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。

点击“执行”按钮,或按住F5,执行SQL代码。

唯一约束已被删除。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。