MySQL DROP 所有表,忽略外键

2024-01-20

有没有一种简单的方法可以从 MySQL 数据库中删除所有表,忽略其中可能存在的任何外键约束?


我发现生成的 drop 语句集很有用,并建议进行以下调整:

  1. 将生成的 drop 限制到您的数据库,如下所示:
SELECT concat('DROP TABLE IF EXISTS `', table_name, '`;')
FROM information_schema.tables
WHERE table_schema = 'MyDatabaseName';

注 1:这不会执行 DROP 语句,它只是提供它们的列表。您需要将输出剪切并粘贴到 SQL 引擎中才能执行它们。

注意 2:如果您有视图,则必须更正每个视图DROP TABLE `VIEW_NAME`声明给DROP VIEW `VIEW_NAME`手动。

  1. 请注意,每http://dev.mysql.com/doc/refman/5.5/en/drop-table.html http://dev.mysql.com/doc/refman/5.5/en/drop-table.html,用级联删除是毫无意义的/具有误导性的:

“允许 RESTRICT 和 CASCADE 使移植更容易。在 MySQL 5.5 中,它们什么也不做。”

因此,为了使 drop 语句起作用,如果您需要:

SET FOREIGN_KEY_CHECKS = 0

这将禁用引用完整性检查 - 因此当您完成所需的删除操作后,您将需要重置密钥检查

SET FOREIGN_KEY_CHECKS = 1
  1. 最终的执行应该是这样的:
SET FOREIGN_KEY_CHECKS = 0;
-- Your semicolon separated list of DROP statements here
SET FOREIGN_KEY_CHECKS = 1;

注意:要更轻松地使用 SELECT 的输出,mysql -B 选项可以提供帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL DROP 所有表,忽略外键 的相关文章

  • 如何在php中正确显示另一种语言的mysql表数据

    我有一个 mySQL 表 其中一列中的数据采用英语以外的语言 波斯语 当我在表中输入数据时 它会正确显示 但是当我想在 php 文件中显示数据时 它会显示如下 好吧 我应该怎么做才能以正确的形式显示数据 由于我经常使用 非英语 字符 因此要
  • PHP实现的机票预订系统

    如何防止预订系统中的座位被重复预订 我正在用 PHP 和 MYSQL 制作一个航空旅行预订系统模型作为一个项目 我有一个小问题 仅在付款后 门票和座位详细信息才会永久存储在此处 座位号在付款前分配 假设人 1 预订了飞机上的座位 x 并支付
  • 将错误保存到 MySQL 数据库

    我有一个 php 查询来更新 MySQL 数据库 请参见下文 sql update hr payroll set payroll number payroll number tax code tax bacs ref bacs ref pa
  • 如何在 MySQL Insert 语句中添加 where 子句?

    这不起作用 INSERT INTO users username password VALUES Jack 123 WHERE id 1 有什么想法如何通过 id 将插入范围缩小到特定行吗 在插入语句中 您不会有现有行来执行 where 语
  • Mysql获取特定表的最后一个id

    我必须从特定的插入表中获取最后的插入 ID 可以说我有这个代码 INSERT INTO blahblah test1 test 2 VALUES test1 test2 INSERT INTO blahblah2 test1 test 2
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 使用 DBCP 配置 Tomcat

    在闲置一段时间 几个小时 后 我们收到了 CommunicationsException 来自 DBCP 错误消息 在异常中 位于这个问题的末尾 但我没有看到任何配置文件中定义的 wait timeout 我们应该看哪里 在 tomcat
  • 为什么我的浮点数大于 1 时在 MYSQL 中存储为 .9999?

    我将进程时间作为 float 4 4 存储在 MySQL 数据库中 start time microtime TRUE things happen in my script end time microtime TRUE process t
  • WHERE 条件基于 PK 的查询是否建议使用“LIMIT 1”?

    我正在查询 mySQL 数据库以检索 1 个特定行的数据 我使用表主键作为 WHERE 约束参数 E g SELECT name FROM users WHERE userid 4 userid 列是表的主键 在 mySQL 语句末尾使用
  • INNER JOIN 后从多个表获取最大日期

    我有以下两个表 table 1 ID HOTEL ID NAME 1 100 xyz 2 101 pqr 3 102 abc table 2 ID BOOKING ID DEPARTURE DATE AMOUNT 1 1 2013 04 1
  • 显示一个表中的所有记录以及另一表中的匹配记录

    您好 我有一张下表 其中记录了活动和积分 Activites A ID Site ActivityValue ActivityName 1 site1 7 ActivityName1 2 site1 6 ActivityName2 2 si
  • 数据库级别的别名列名 [MySQL]

    别名 可能是错误的词 因为它是在将列 表名称作为查询中的其他名称引用的上下文中使用的 我感兴趣的是是否有一种方法可以在数据库中为列指定两个名称 如果我要打印这样的表格 它看起来会是这样的 mysql gt SELECT FROM User
  • MySQL 最佳实践:SELECT 子递归尽可能提高性能?

    我想选择一个根项目及其子项 使其性能尽可能高 我更喜欢使用嵌套集模型 但这次表结构遵循邻接模型 有关嵌套集和邻接模型的更多信息 http mikehillyer com articles managing hierarchical data
  • SQL 按计数排序

    如果我有一个表和这样的数据 ID Name Group 1 Apple A 2 Boy A 3 Cat B 4 Dog C 5 Elep C 6 Fish C 我希望根据 Group 的总和从小到大进行排序 例如 A 2条记录 B 1条记录
  • 拉拉维尔; “SQLSTATE[HY000] [2002] 连接被拒绝”

    我在 OSX 主机上设置了 homestead 2 0 并使用 Sequel Pro 我可以进行迁移并确认数据已在Sequel Pro中迁移 因此看起来数据库连接没有问题 但是 一旦我尝试从 Laravel 4 2 应用程序获取数据 它就无
  • 合并两个具有相同列名称的 MYSQL 表

    我有两张桌子 表一是计划时间 id edition time 1 1 9 23am 2 2 10 23am 表二为实际时间 id edition time 1 1 10 23am 2 2 11 23am 我想要的结果是 Caption Ed
  • 使用 Flot、html、PHP 和 MySql 查询绘制多个图表

    我正在尝试使用 Flot html PHP 和 MySql 查询绘制多个图表 但我陷入了困境 因为我找不到在同一个 html 页面中绘制多个 flot 的方法 为简单起见 在数据库 test db3 映像中包含以下字段 表1 用户名 发送邮
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam

随机推荐

  • 打开设备注册后出现 Cognito UnknownError

    根据要求 我需要打开设备注册Always 但是 我们的 SRP 流程因以下问题而开始失败 code UnknownError message Unknown error the response body from fetch is und
  • 如何在 PyOpenGL 中面向对象进行击退?

    我正在 PyOpenGL 中制作游戏 当物体足够近时 我想在相机上应用击退 击退只是根据敌人面对的方向将镜头向后移动 我在一张纸上模拟了这个并发现 xc person pos 0 camera pos 0 yc person pos 1 c
  • 为什么我在尝试删除表视图 ios 中的某个部分时收到断言错误

    我有一个包含一些部分的 tableView 这些部分都有一个页脚 然后我在 Tableview 本身上有一个 tableViewFooter 如果我向下滚动到表格视图的底部并删除最后一部分 倒数第二个及以上 上方任何部分中的最后一项 因此完
  • 使用 PrintDocument 打印图像。如何调整图像以适合纸张尺寸

    在 C 中 我尝试使用 PrintDocument 类和以下代码打印图像 该图像的尺寸为 1200 像素宽度和 1800 像素高度 我正在尝试使用小型 zeebra 打印机在 4 6 纸张上打印此图像 但程序只打印 4 6 的大图像 这意味
  • 将项目拖到父级之外并进入 UI 对话框

    我有一个 li class draggable 和一个 div class dropable 位于 ui 对话框 div 内 当我尝试拖动 li 时 我无法将其拖动到它的父元素之外 所以我这样做了 draggable draggable c
  • 当存在日期类型列时,查找字符串“NA”并将其替换为 NA

    我想搜索所有列 NA 并替换为NA但当存在日期列时会遇到问题 library lubridate x data frame a c NA NA b c today today x x NA NA 返回错误 Error in charToDa
  • Hibernate命名策略

    我正在使用 Spring Boot 构建 REST Web 服务 并尝试使用 hibernate 作为 orm 映射器 而无需任何 xml 配置 我基本上可以正常工作 但我遇到了配置问题 我实例化LocalContainerEntityMa
  • 请解释一下Android build.gradle groovy语法

    以下 groovy 语法的真正含义是什么 Gradle 文档介绍了 build gradle 的用法just时髦的 Android 团队已将默认的 build gradle 简化到它看起来不像代码 至少对我而言 请用常规语法解释一下这是做什
  • 使用javascript更改asp.net“ControlParameter”控件的属性“DefaultValue”

    我已经知道如何执行此操作 但我意识到控件 ControlParameter 没有 Id 属性 JS 需要该属性 是否有其他方法可以使用 JavaScript 更改 DefaultValue 属性而不需要使用 Id 属性 这是我一直在使用的
  • 消除 QWebChannel 属性通知器信号警告

    我在用着QWebEngineView with QWebChannel 类似于 class AppView QWebEngineView def init self QWebEngineView init self self ch QWeb
  • 使用 Intellij 指定工件名称

    我想设置使用 Intellij 构建的 jar 工件的文件名 但当我更改它时 它在输出文件中不会更改 使用 2017 2 5 我可以使用以下步骤更改工件名称 文件 gt 项目结构 在项目设置 gt 工件下 添加新的工件或修改现有的工件 在
  • hadoop 流:在 EMR 上导入模块

    上一个问题已解决 https stackoverflow com questions 6811549 how can i include a python package with hadoop streaming job 6811775
  • iOS 8 swift 社交框架

    我一直在编写一个应用程序 需要使用社交框架通过 Twitter 和 Facebook 共享文本 我让它工作 但它没有关闭 然后我想起了完成处理程序 但无论我做什么 这个处理程序都会继续给我错误 var okFacebook Bool SLC
  • 在react中读取firestore子集合数据 - 如何在子集合where查询中设置父id

    我正在尝试弄清楚如何从 React 中读取 firestore 子集合数据 我见过这个博客 https dev to rossanodan how to fetch subcollections from cloud firestore w
  • JQuery 添加隐藏的 HTML 元素

    HTML
  • GTK+ 设置字体大小

    As before https stackoverflow com questions 41072683 gtk menuitem size small 菜单项对于我的用例来说太小了 因此 我的问题是 如何增加文本 保存 加载 和 退出 的
  • 选择像素的 4 个邻居[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何选择像素的 4 个邻居matla
  • 如何获取更改前的属性值? (在 QML 中)

    我想了解以下问题 如何在声明式中存储属性的先前值 QML语言 任务是在属性值更改之前将其记住为另一个属性 问题在于现有的信号机制onPropertyNameChanged 该机制在修改后发出有关属性更改的信号 并且在这个处理程序中 不可能获
  • 如何从 java fx 应用程序打开默认系统浏览器?

    我正在尝试从 javafx 在默认系统浏览器中打开一个 web url 我没有找到任何关于此的官方文档 有什么线索吗 编辑 我发现了教程 http blog ngopal com np 2011 02 09 open default bro
  • MySQL DROP 所有表,忽略外键

    有没有一种简单的方法可以从 MySQL 数据库中删除所有表 忽略其中可能存在的任何外键约束 我发现生成的 drop 语句集很有用 并建议进行以下调整 将生成的 drop 限制到您的数据库 如下所示 SELECT concat DROP TA