当前位置: 首页 > 面试题库 >

如何在没有DROP数据库权限的情况下从命令行删除所有MySQL表?[重复]

濮阳品
2023-03-14
问题内容

这个问题已经在这里有了答案

MySQL DROP所有表,忽略外键 (23个答案)

6年前关闭。

如何使用命令提示符删除Windows
MySQL中的所有表?我要执行此操作的原因是,我们的用户有权访问数据库,但不能访问重新创建数据库本身,因此,我们必须手动删除表。有没有一种方法可以一次删除所有表?请记住,大多数表都与外键链接,因此必须按特定顺序删除它们。


问题答案:

您可以生成如下语句:DROP TABLE t1, t2, t3, ...然后使用准备好的语句执行它:

SET FOREIGN_KEY_CHECKS = 0; 
SET @tables = NULL;
SELECT GROUP_CONCAT('`', table_schema, '`.`', table_name, '`') INTO @tables
  FROM information_schema.tables 
  WHERE table_schema = 'database_name'; -- specify DB name here.

SET @tables = CONCAT('DROP TABLE ', @tables);
PREPARE stmt FROM @tables;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET FOREIGN_KEY_CHECKS = 1;


 类似资料:
  • 我只需要"解除屏蔽"我的终端后...有一些选项或setpup为它? 注意:我的服务正在使用,因此假设不需要在命令行上使用。 PS:我需要保持容器运行,我不需要使用

  • 问题内容: 我有100个表,每个表40,000行。我想进入MySQL并从 所有* 表中删除 所有 行。 * …如果可能的话,用1条陈述? 我想保留数据库和表。 问题答案: 我不这么认为(但以前我做错了)。我倾向于做的是那些情况,这是一个两步过程。 如果您的DBMS具有命令行界面,则可以使用它来创建脚本来完成大部分工作,例如: 第一位只是简单地创建一个文件(或Windows下的文件),该文件包含所拥

  • 我想查看项目中的所有类,当我找到一个从“City”派生的类时,我想创建一个该类型的新对象并将其添加到列表中。这允许我添加功能,而无需更新列表。最重要的是,我想在不使用任何库的情况下完成它。我已经找到了类似的主题,但他们使用了org。反思。我希望避免以下情况:

  • 问题内容: 我已经看到了许多变化,但是没有什么与我要完成的工作完全匹配。 我有一张表格,其中包含用户对可配置问卷的回答。列为。 不知何故,一些成员两次提交了答案。因此,我需要删除重复的记录,但要确保保留一排。 没有 主 列,因此可能有两行或三行的数据完全相同。 是否有查询以删除所有重复项? 问题答案: 在表上添加 唯一索引 : 另一种方法是: 在表中添加主键,然后可以使用以下查询轻松地从表中删除重

  • 我开始使用一个代码,使用Firebase实时数据库。我将它实现到我的解决方案中。连接和控制非常完美,所以我将其用于生产环境。 一段时间后,我在升级,我需要再次删除所有数据-但请稍候,控制台中最高根级别不再有删除按钮,并且一次只允许在一个选定项目中: 上次更新仅显示此消息,没有后续步骤: 只读 问:如何一次删除所有数据?

  • 问题内容: 我在Android应用程序上使用Firebase,我知道如何使用EventListener从数据库中获取数据。到目前为止。 我的问题是:我有一个ReciclerView,它显示数据中的信息,但仅当我修改数据库时才显示。如果我关闭该应用程序然后再次打开,它什么也不会显示。然后,我进行一些修改,并将所有元素显示在容器中。 有什么方法可以加载数据而无需等待事件,而是手动获取? 先感谢您。 更