应用软件:Navicat Premium 16(数据库管理工具)
Navicat premium是一款数据库管理工具。将此工具连接数据库,你可以从中看到各种数据库的详细信息。包括报错,等等。当然,你也可以通过他,登录数据库,进行各种操作
数据库:Mysql 8.0
技巧一:在数据库管理工具中设置可选择的字段
在学了数据库语言后,但是由于不经常使用,导至一些sql语句在使用的时候忘记或者在使用的时候由于sql语句要想使用不仅仅只是一句话的事,还需要有较多的铺垫,此时数据库管理工具就可以提供很便捷的操作(图形界面操作)
比如,我们想让这个category字段不在每次都要手动输入服务类型,变成可以选择的数据,就可以这样做。
第一步:右键要设置的数据表,选择设计数据表 。
第二步:找到要改的行,选择数据类型为enum。
第三步: 在底部找到Values,输入要添加的数据,使用单引号括起来并用逗号隔开(必须是英文,否则会报错)最后一个数据不用逗号。
也可以在这添加:点击后面有三个点的小方格,在其中输入。
第四步:保存更改。
第五步:查看效果,是否变为可以选择的状态了。
注释:如果在保存时遇到错误,是因为原先的字段中已经有了数据,现在更改的数据会有冲突,所以无法保存,建议使用Delete删除这个字段中的数据在保存。
技巧二:跳过外键约束清空数据表方法
通常我们的数据库会有很多关联外键约束,导致我们想删除或者添加一个字段或者表格时会牵一发而动全身,很烦人,所以就有了此方法,先禁用外键约束,然后你该删删,该改改。
第一步:打开 Navicat 的查询窗口,连接到你的 MySQL 数据库,右键点击数据库连接 -> 选择 New Query(新建查询)。
第二步:执行禁用外键检查命令,在查询窗口中输入以下 SQL 并执行:
-- 关闭外键约束检查
SET FOREIGN_KEY_CHECKS = 0;
第三步:清空service表数据:
-- 使用 DELETE 清空数据(避免 TRUNCATE 的外键限制)
DELETE FROM services;
-- 或使用 TRUNCATE(仅当 services 表未被其他表外键引用时可用)
-- TRUNCATE TABLE services;
还是同样的步骤,点击运行,查看是否执行成功。
第四步:恢复外键约束。
-- 重新启用外键约束检查
SET FOREIGN_KEY_CHECKS = 1;
注意事项:
DELETE vs TRUNCATE
DELETE
:逐行删除,可触发事务日志,兼容外键禁用场景。
TRUNCATE
:直接清空表结构,效率更高,但若services
是其他表的父表(被外键引用),可能仍会失败。数据一致性风险:跳过外键检查后,若其他表依赖
services
的数据,会导致“孤立数据”。清空前请确保无关联依赖
还有什么问题可以提出来,大家讨论一下!!!