📜  使用 ALTER 命令添加唯一键约束的 SQL 查询

📅  最后修改于: 2022-05-13 01:55:37.585000             🧑  作者: Mango

使用 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;

现在让我们为列电话添加一个唯一的键约束作为电话号码。应该是独一无二的。

注意:一个数据库表中可以有多个唯一键列,但只有一个主键列。

将唯一键约束添加到单列和多列的语法如下:

例子 :

ALTER TABLE demo
ADD UNIQUE (PHONE);

--Let's insert a row into the table.

INSERT INTO demo
VALUES ('GeeksforGeeks','000000001'); --error

由于字符串'000000001' 已经存在于现在具有唯一键约束的phone列中,因此在执行上述查询时会导致错误。

因此我们可以说唯一键约束已经成功应用。