从 MySQL 表中删除约束

约束是一组规则或限制,禁止在 MySQL 列中输入数据。MySQL 中的表具有用户想要限制的各种属性或列。

应用的障碍禁用 MySQL 列集中所有类型的数据值的允许,从而提供跨列的一致性。它仅启用应用的约束集定义中允许的值。

在 MySQL 中创建具有约束的表

在 MySQL 中,用户可以将约束与表模式一起应用到列上。这些约束可以是下面给出的两种类型。

  1. 列级约束
  2. 表级约束

使用约束创建表的语法:

CreatetabletablemnameattributeName1attributeTypeconstraint,attributeName2attributeTypeconstraint,...attributeNameNattributeTypeconstraint,TableLevelConstraint(AttributeName)

上面代码中的语法显示了如何为每个创建表级和列级约束。两者背后的想法是赋予用户根据需要添加约束的权限。

  1. 列级约束:在定义属性名称时定义 non-nullunique 等约束类型。这意味着约束名称在提供属性的数据之后。
  2. 表级约束:约束的类型在表定义的末尾定义。这些约束类似于 PrimaryKey ForeignKeyIndex 约束。

实际查询表之前的查询列表:

createtablestudentPK(idvarchar(255)notnull,firstNamevarchar(255),lastnamevarchar(255),ageinteger,primarykey(id));

上面的命令创建了一个表 studentPK,其属性包括 idfirstNamelastNameage主键 约束是 MySQL 中定义的一个关键字,用于创建表的主键或唯一标识符。

该语法在其参数中采用参数以使属性成为主键。

DescribestudentPK;

另一个查询是描述创建的表。下面显示的图像说明了输入到 studentPK 表的字段中的约束。

从 MySQL 表中删除约束

从 MySQL 表中删除约束

在 MySQL 中执行 DROP 约束的查询:

AltertablestudentPKdropprimarykey;

上述语法使用 Alter 关键字更改 studentPk 的语法。由于约束在表级别,因此很容易在表级别很好地删除。

Alter 命令最适合更改表的模式。它通过从同一表中删除主键来更改 StudentPk 表的模式。

下面是相同的本地运行图像。

从 MySQL 表中删除约束

同样,当在其他表中使用相同的键时,它会通过删除另一个表的外键而被删除。

查询创建外键约束:

createtablestudentDept(deptidvarchar(255)notnull,deptNamevarchar(255),idvarchar(255),foreignkey(id)referencesstudentPK(id));

上面的查询在另一个关系 studentDept 表上创建了一个外键作为 id。外键是通过使用关键字 foreign key 形成的。

除了关键字之外,它还需要 references 关键字来链接父表以使两个表相互依赖。references 关键字将 studentPk 表的 id 字段绑定为 studentDept 表中的外键。

输出可以在下图中得到验证:

从 MySQL 表中删除约束

在内部创建外键时,会创建该键的新键名。描述表和查看名称的语句如下:

SHOWCREATETABLEstudentDept;

下面是控制台输出的图片,可以看到 MySQL 中的表结构。

从 MySQL 表中删除约束

上图显示外键是用名称 studentdept_ibfk_1 创建的。现在,很容易删除具有创建名称的外键。

AltertablestudentDeptdropforeignkeystudentdept_ibfk_1;

上面的查询从 studentDept 表中删除了外键。Alter 命令表明更改发生在模式级别。

外键从 studentDept 表中删除。可以使用 describe 命令重新检查它。

删除外键之前要记住的几点:

  1. 外键名是需要的。从表中删除约束需要一个键。
  2. 不知道键名的 drop 命令导致如下所示的错误:

    从 MySQL 表中删除约束

  3. SHOW CREATE TABLE 命令是强制性的。