ホームページ  >  に質問  >  本文

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

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

伊谢尔伦伊谢尔伦2742日前628

全員に返信(7)返信します

  • 阿神

    阿神2017-04-17 15:33:58

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

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:33:58

    运行这个语句,会生成指定数据库的所有表删除语句,拿着这个结果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

    返事
    0
  • 黄舟

    黄舟2017-04-17 15:33:58

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

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 15:33:58

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

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 15:33:58

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

    返事
    0
  • 阿神

    阿神2017-04-17 15:33:58

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

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-17 15:33:58

    别用delete,用truncate吧

    返事
    0
  • キャンセル返事