我正在编写一些 db 实用程序脚本,我需要做的任务之一是仅重建数据,但保持架构不变。使用 bash 和 mysql 工具(没有 php 等)从命令行自动执行此操作的最简单方法是什么?
更新: 我希望在一个命令中处理所有表的解决方案,如果可能,如果添加或删除表,则不需要更新。
最佳答案
TRUNCATE tableName;
这将清空表格的内容。
编辑以响应 Q 编辑: 从我的快速测试看来,您必须至少执行 2 个查询,因为“显示表”似乎不能用作子查询,我不知道如何在 bash 中执行此操作,所以这是一个 PHP 示例,希望它会有所帮助。
<?php
mysql_connect('localhost', 'user', 'password');
$dbName = "database";
mysql_select_db($dbName); /*added semi-colon*/
$result_t = mysql_query("SHOW TABLES");
while($row = mysql_fetch_assoc($result_t))
{
mysql_query("TRUNCATE " . $row['Tables_in_' . $dbName]);
}
?>
这至少需要一些错误处理。
关于mysql - 如何清空mysql中所有表的所有行(在sql中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/454174/