我正在编写一些数据库实用程序脚本,我需要做的任务之一是仅重建数据,但保留模式完整.使用bash和mysql工具(没有php等)从命令行自动执行此操作的最简单方法是什么?
更新:我希望解决方案能够在一个命令中处理所有表,如果可能,在添加或删除表时不需要更新.
Unk*_*ech 54
TRUNCATE tableName;
Run Code Online (Sandbox Code Playgroud)
这将清空表的内容.
编辑以响应Q编辑:从我的快速测试看来,你将不得不做至少2个查询,因为似乎"show tables"不能用作子查询,我不知道如何在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]);
}
?>
Run Code Online (Sandbox Code Playgroud)
至少这需要一些错误处理.