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

从MYSQL中的所有表中删除数据

锺离霖
2023-03-14
问题内容

我有100个表,每个表40,000行。我想进入MySQL并从 所有* 表中删除 所有 行。 *

…如果可能的话,用1条陈述?

我想保留数据库和表。


问题答案:

我不这么认为(但以前我做错了)。我倾向于做的是那些情况,这是一个两步过程。

如果您的DBMS具有命令行界面,则可以使用它来创建脚本来完成大部分工作,例如:

db2 "select 'db2 delete from ' | tblname from sysibm.systables
    where owner = 'pax'" >p2.sh
p2.sh

第一位只是简单地创建一个p2.sh文件(或p2.cmdWindows下的文件),该文件包含delete from所拥有的每个表的语句pax。然后,您只需运行该命令文件即可完成工作。当然,您可能要先检查它:-)

不是您要查找的一步式过程,但仍然非常简单。我在这里假设mysql也有一个命令行界面。

更新:

上面的MySQL版本看起来应该是这样的:

echo "select 'mysql truncate table ' | table_name
              from information_schema.tables" | mysql >p2.sh
bash p2.sh

这使用的truncate命令通常比delete from删除所有行更有效。它还使用适当的MySQL系统表来获取表名。

但有一点-
您可能希望where在该选择项上放置一个子句,以将表限制为要删除的表。按原样查询将尝试删除每个表。一种可能性是将其限制为特定值table_schema和/或table_type值。



 类似资料:
  • 问题内容: 我想开发一个只能从字符串中删除数字字符的mysql函数。 问题答案: 您可以编写用户定义的函数,在其中可以编写替换逻辑,也可以尝试:

  • 问题内容: 我有一个数组: 我想从中删除所有零,以便返回(保持相同的顺序): 有什么比以下方法更简单的方法来删除所有零? 我无法在Arrays类中找到任何方法,并且Google / SO搜索没有给我任何好的答案。 问题答案: 这是在少数情况下,用代码显示比用普通英语解释更容易的情况之一:

  • 问题内容: 我只是python的初学者,我想知道是否可以从列表中删除所有整数值?例如文件像 删除后,我希望文档如下所示: 问题答案: 要删除所有整数,请执行以下操作: 但是,您的示例列表实际上并不包含整数。它仅包含字符串,其中一些仅由数字组成。要过滤掉它们,请执行以下操作: 交替:

  • 问题内容: 有没有办法从所有值的特定列中删除所有空格? 问题答案: 替换: 删除所有字符: 删除所有字符: http://dev.mysql.com/doc/refman/5.0/zh-CN/string- functions.html#function_replace 删除列: http://dev.mysql.com/doc/refman/5.0/zh-CN/string- functions

  • 问题内容: 如何使用JDBC删除Apache Derby DB上架构中的所有表? 问题答案: 有关执行此操作的实际代码,请检查Derby发行版的Derby测试套件部分中的CleanDatabaseTestSetup.java。

  • 如前所述,我正在MySQL中进行并练习一个分区数据。由于我想清除所有的数据,数据仍然在那里,不能删除一次。 这是我创建的分区表。 我很好奇我的MySQL软件有问题吗?还是分区表导致了这种情况?因为我有一个没有分区的备份表,所以可以很好地使用Truncate,Delete和Select脚本。