从 MySQL 表中删除约束
约束是一组规则或限制,禁止在 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
,其属性包括 id
、firstName
、lastName
和 age
。主键
约束是 MySQL 中定义的一个关键字,用于创建表的主键或唯一标识符。
该语法在其参数中采用参数以使属性成为主键。
Describe studentPK;
另一个查询是描述创建的表。下面显示的图像说明了输入到 studentPK
表的字段中的约束。
从 MySQL 表中删除约束
在 MySQL 中执行 DROP 约束的查询:
Alter table studentPK drop primary key;
上述语法使用 Alter
关键字更改 studentPk
的语法。由于约束在表级别,因此很容易在表级别很好地删除。
Alter
命令最适合更改表的模式。它通过从同一表中删除主键来更改 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
表中的外键。
输出可以在下图中得到验证:
在内部创建外键时,会创建该键的新键名。描述表和查看名称的语句如下:
SHOW CREATE TABLE studentDept;
下面是控制台输出的图片,可以看到 MySQL 中的表结构。
上图显示外键是用名称 studentdept_ibfk_1
创建的。现在,很容易删除具有创建名称的外键。
Alter table studentDept drop foreign key studentdept_ibfk_1;
上面的查询从 studentDept
表中删除了外键。Alter
命令表明更改发生在模式级别。
外键从 studentDept
表中删除。可以使用 describe
命令重新检查它。
删除外键之前要记住的几点:
相关文章
使用 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() 的组合。
使用 Ubuntu 连接远程 MySQL 服务器的不同方法
发布时间:2023/05/09 浏览次数:97 分类:MySQL
-
在本文中我们将学习如何使用 Ubuntu 连接远程 MySQL 服务器来操作数据以及启动和停止 MySQL 服务器。
在 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)。