📜  使用 ALTER 命令删除外键约束的 SQL 查询

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

使用 ALTER 命令删除外键约束的 SQL 查询

在这里,我们将看到如何使用 Microsoft SQL Server使用 ALTER 命令(SQL 查询)删除外键约束。

外键是一个表中的一个属性,它从另一个表中获取引用,在该表中它充当该表中的主键。此外,作为外键的列应该存在于两个表中。

创建一个新的数据库:

CREATE DATABASE geeks;

使用数据库:

USE geeks;

表定义:

我们的数据库中有以下 emp 表:

CREATE TABLE emp(
empno number(2) constraint pk primary key ,
empname varchar2(20),
deptno number(2),
empsal number(20));

要验证表架构,请使用以下查询:

EXEC SP_COLUMNS emp;

输出:



EMP 表架构

向表中添加数据:

使用以下语句向emp表添加数据:

INSERT INTO emp values(1,'abc',5,20000);
INSERT INTO emp values(2,'def',6,30000);
INSERT INTO emp values(3,'xyz',7,40000);

输出:

EMP 表中的值

现在让我们编写 SQL 查询以使用 ALTER 命令删除外键约束。为此,我们必须创建另一个名为“DEPT”的表。

创建 DEPT 表

CREATE TABLE dept(
deptno number(2) constraint pk2 primary key ,
dname varchar2(5),
loc varchar2(5));

要查看当前表,请使用以下语句:

SELECT * FROM dept;

输出:

部门表架构

将数据添加到部门表:

使用以下语句将数据添加到 dept 表:

INSERT INTO dept values(5,'IT','hyd');
INSERT INTO dept values(6,'sales','bglr');
INSERT INTO dept values(7,'mgr','mumb');

要查看当前表,请使用以下语句:

SELECT * FROM dept;

输出

部门表值

在这里,我们将DEPTNO列保留为 EMPDEPT表中的通用列

添加外键约束

ALTER TABLE emp add constraint fk foreign key(deptno) references dept(deptno);
 //ADDS FOREIGN KEY CONSTRAINT ON EMP TABLE

外键“FK”已创建

删除外部约束:

ALTER TABLE TABLE NAME drop constraint CONSTRAINT_NAME

使用 ALTER 从表中删除外键约束:

ALTER TABLE emp drop constraint fk;

输出:

因此,通过这种方式,我们可以使用 ALTER 命令删除外键约束