📜  在 sql 中更改约束(1)

📅  最后修改于: 2023-12-03 14:51:10.977000             🧑  作者: Mango

在 SQL 中更改约束

在 SQL 数据库中,约束是用来确保数据完整性和一致性的规则。当数据被插入、更新或删除时,这些规则会被检查和执行。然而,在某些情况下,我们需要更改数据库中的约束以满足特定的要求。本文将介绍如何在 SQL 中更改约束。

1. 修改表约束

要修改表约束,可以使用 ALTER TABLE 语句。下面是一些示例:

修改主键约束
-- 更改表的主键约束
ALTER TABLE 表名
DROP PRIMARY KEY, -- 删除主键
ADD PRIMARY KEY (列名); -- 添加新的主键

-- 更改主键列的名称
ALTER TABLE 表名
CHANGE 列名 新列名 新数据类型;
修改外键约束
-- 更改外键约束
ALTER TABLE 表名
DROP FOREIGN KEY 约束名称, -- 删除外键约束
ADD FOREIGN KEY (列名) REFERENCES 参考表名(列名); -- 添加新的外键约束

-- 更改外键列的名称
ALTER TABLE 表名
CHANGE 列名 新列名 新数据类型;
修改唯一约束
-- 更改唯一约束
ALTER TABLE 表名
DROP INDEX 索引名称, -- 删除唯一约束
ADD UNIQUE (列名); -- 添加新的唯一约束

-- 更改唯一列的名称
ALTER TABLE 表名
CHANGE 列名 新列名 新数据类型;
修改检查约束
-- 更改检查约束
ALTER TABLE 表名
DROP CHECK 约束名称, -- 删除约束
ADD CHECK (条件); -- 添加新的约束
2. 修改列约束

要修改列约束,可以使用 ALTER TABLE 语句中的 MODIFY COLUMN 子句。下面是一些示例:

修改 NOT NULL 约束
-- 更改 NOT NULL 约束
ALTER TABLE 表名
MODIFY COLUMN 列名 新数据类型 NOT NULL;
修改 DEFAULT 约束
-- 更改 DEFAULT 约束
ALTER TABLE 表名
MODIFY COLUMN 列名 新数据类型 DEFAULT 新值;
修改 CHECK 约束
-- 更改 CHECK 约束
ALTER TABLE 表名
MODIFY COLUMN 列名 新数据类型 CHECK (条件);
修改 UNIQUE 约束
-- 更改 UNIQUE 约束
ALTER TABLE 表名
MODIFY COLUMN 列名 新数据类型 UNIQUE;
总结

以上是如何在 SQL 数据库中更改约束的方法。通过 ALTER TABLE 语句和相关的子句,我们可以更改表和列的约束来满足特定的需求。