删除数据库中的数据,但是表结构保留

mysql如何捉到,删除数据库中的数据,但是表结构保留
每个表都清空数据,但是各个表的字段都保留。
请问有20个表的话,就必须把说有的表名引用一遍?
写20遍?
delete from tablename1;
delete from tablename20;

阅读 9.4k
7 个回答
<?php
//用循环执行SQL,瞬间帮帮你删除干净了,即使是100张表 也是瞬间
for($i=0;$i<=20;$i++)
{
    $sql = 'DELETE FROM tableName'.$i;
    $db->query($sql);
}




运行这个语句,会生成指定数据库的所有表删除语句,拿着这个结果query即可,注意替换你的数据库名

SELECT Group_concat(a.sql_truncate, a.sql_truncate, '') AS sql_truncate 
FROM   (SELECT Concat('truncate table ', table_name, ';') AS sql_truncate 
        FROM   information_schema.tables 
        WHERE  table_schema = '你的数据库名' 
               AND table_type = 'BASE TABLE') AS a 

truncate table table_name

mysql -uroot test -e "show tables" > all_table.md
然后用vim或者sublime编辑all_table.md在前面统一加上delete from 

写存储过程
读取table名 循环执行删除
delete from tablename;

新手上路,请多包涵

导出表结构,删除数据库。重建

新手上路,请多包涵

drop user 用户名 cascade
级连删除用户下面的所有数据

别用delete,用truncate吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题