迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

从 MySQL 表中删除约束

作者:迹忆客 最近更新:2023/03/13 浏览次数:

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

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

在 MySQL 中创建具有约束的表

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

使用约束创建表的语法:

Create table tablemname
 attributeName1 attributeType constraint,
 attributeName2 attributeType constraint,
 ...
 attributeNameN attributeType constraint,
 TableLevelConstraint(AttributeName)

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

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

create table studentPK ( id varchar(255) not null, firstName varchar(255), lastname varchar(255), age integer, primary key (id));

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

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

Describe studentPK;

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

表中有约束的实际运行

从 MySQL 表中删除约束

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

Alter table studentPK drop primary key;

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

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

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

从 studentPk 表中删除主键约束

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

查询创建外键约束:

create table studentDept ( deptid varchar(255) not null, deptName varchar(255), id varchar(255), foreign key(id) references studentPK (id));

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

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

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

在 MySQL 中创建具有外键约束的新表

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

SHOW CREATE TABLE studentDept;

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

描述 MySQL 表和约束名称

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

Alter table studentDept drop foreign key studentdept_ibfk_1;

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

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

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

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 Mysqldump 备份 MySQL 中的数据

发布时间:2023/05/09 浏览次数:192 分类:MySQL

本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。

更新 MySQL 表中的主键

发布时间:2023/05/09 浏览次数:61 分类:MySQL

本篇文章介绍如何更新 MySQL 表中的主键。 我们将使用 ALTER 命令对主键进行任何更改。更新 MySQL 表中的主键 我们可以在多种情况下更新 MySQL 表中的主键。

在 MySQL 中获取命令历史记录

发布时间:2023/05/09 浏览次数:150 分类:MySQL

本文重点介绍了在 Windows 和 Linux 中获取我们已执行的 MySQL 命令历史记录的各种方法。MySQL命令历史

Oracle 的 decode 函数在 MySQL 中的等价物

发布时间:2023/05/09 浏览次数:115 分类:MySQL

本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:72 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 MySQL 中转换为十进制

发布时间:2023/05/09 浏览次数:150 分类:MySQL

有时,我们可能需要将一种数据类型转换为另一种数据类型。 下面是我们如何使用带有 DECIMAL(M,D) 的 CAST() 和 CONVERT() 函数在 MySQL 中转换为十进制。

在 MySQL 中获取当前日期和时间

发布时间:2023/05/09 浏览次数:145 分类:MySQL

本篇文章我们将学习 NOW()、CURRENT_TIMESTAMP()(也写为 CURRENT_TIMESTAMP)和 SYSDATE() 来获取 MySQL 中的当前日期和时间。 我们还将看到这三个功能之间的比较。在 MySQL 中获取当前日期和时间

更改 MySQL 服务器中的 max_allowed_packet Size

发布时间:2023/05/09 浏览次数:142 分类:MySQL

本篇文章介绍如何更改 MySQL 服务器中的 max_allowed_packet 大小。 为了了解这一点,我们将使用两个操作系统,Windows 10 和 Linux (Ubuntu)。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便