使用 ALTER 命令添加唯一键约束的 SQL 查询
在这里,我们将看到如何在使用 ALTER 子句的 SQL 查询的帮助下向 MS SQL Server 数据库的列添加唯一键约束。
出于演示目的,我们将在名为“geeks”的数据库中创建一个演示表。
创建数据库:
使用以下 SQL 语句创建名为geeks的数据库:
CREATE DATABASE geeks;
使用数据库:
使用以下 SQL 语句将数据库上下文切换到geeks :
USE geeks;
表定义:
我们的极客数据库中有以下演示表。
CREATE TABLE demo(
ID INT IDENTITY(1,1) PRIMARY KEY, --IDENTITY(1,1) is same as AUTO_INCREMENT in MySQL.
--Starts from 1 and increases by 1 with each inserted row.
NAME VARCHAR(30) NOT NULL,
PHONE VARCHAR(10) NOT NULL
);
您可以使用以下语句查询已创建表的描述:
EXEC SP_COLUMNS demo;
向表中添加数据:
使用以下语句向演示表中添加数据:
INSERT INTO demo --no need to mention columns explicitly as we are inserting into all columns and ID gets
--automatically incremented.
VALUES
('Yogesh Vaishnav', '000000001'),
('Ajit Yadav', '000000002'),
('Ashish Yadav', '000000003'),
('Vishal Vishwakarma', '000000004'),
('Suhana Shaikh', '000000005');
要验证表的内容,请使用以下语句:
SELECT * FROM demo;
现在让我们为列电话添加一个唯一的键约束作为电话号码。应该是独一无二的。
注意:一个数据库表中可以有多个唯一键列,但只有一个主键列。
将唯一键约束添加到单列和多列的语法如下:
Syntax :
–Adding unique key constraint to a column.
ALTER TABLE
ADD UNIQUE (
–Adding unique key constraint to multiple columns
ALTER TABLE
ADD CONSTRAINT
例子 :
ALTER TABLE demo
ADD UNIQUE (PHONE);
--Let's insert a row into the table.
INSERT INTO demo
VALUES ('GeeksforGeeks','000000001'); --error
由于字符串'000000001' 已经存在于现在具有唯一键约束的phone列中,因此在执行上述查询时会导致错误。
因此我们可以说唯一键约束已经成功应用。