有个数据库名称为databaseA
它下面有表a,b,c,d,e,f......好多表
现在求一mysql语句 清空数据库databaseA下所有的表跪求 在线等 住好人有好报 一生平安! 

解决方案 »

  1.   

    用SP循环取得表名,再TRUNCATE
    OR
    mysql -uroot -p123 -N -e "SHOW TABLES">123.TXT用EXCEL处理123。TXT,加入TRUNCATE,在MYSQL中运行SQL语句
      

  2.   

    select table_name from information_schema.tables where TABLE_SCHEMA = 'databaseA'
    查出这个库所有的表名
    要么手工拷贝出来 编辑 N行 truncate table  tb_name;
    要么用游标 或者循环语句 拼成过程执行下。
      

  3.   

    select concat('truncate table ',table_name,';') into outfile '/home/truncatetable.sql' from information_schema.tables;
    然后  mysql -uroot -p123 databaseA< /home/truncatetable.sql
      

  4.   

    show tables 得到所有表名,复制到EXCEL中,然后利用EXCEL公式生成如下truncate table tablA;
    truncate table tablB;
    ...然后一次性复制到MYSQL工具中执行即可。
      

  5.   

    SELECT name,ROW_NUMBER() over(order by name) as r into #c FROM sysobjects WHERE Type = 'U'  And Name <> 'dtproperties' and name<>'sysdiagrams' and name<>'tb_multiType' and name<>'tb_role' and name<>'TB_BoardAction' and name<>'TB_USER' and name<>'TB_BG_MENU'
    declare @truncatesql varchar(max)
    set  @truncatesql=(select convert(varchar(max), 'truncate table '+name)+';'    from  #c for xml path(''))
    print @truncatesql
    exec (@truncatesql)