mysql清空数据库所有表的语句

时间:2021-12-19 04:09:13
有个数据库名称为databaseA
它下面有表a,b,c,d,e,f......好多表


现在求一mysql语句 清空数据库databaseA下所有的表

跪求 在线等 住好人有好报 一生平安! 

7 个解决方案

#1


写个存储过程好了。

#2


用SP循环取得表名,再TRUNCATE
OR
mysql -uroot -p123 -N -e "SHOW TABLES">123.TXT

用EXCEL处理123。TXT,加入TRUNCATE,在MYSQL中运行SQL语句

#3


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

#4


select concat('truncate table ',table_name,';') into outfile '/home/truncatetable.sql' from information_schema.tables;


然后  mysql -uroot -p123 databaseA< /home/truncatetable.sql

#5


show tables 得到所有表名,复制到EXCEL中,然后利用EXCEL公式生成如下

truncate table tablA;
truncate table tablB;
...

然后一次性复制到MYSQL工具中执行即可。

#6


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)

#7


为什么不先删除数据库,再新建这个数据库了

#1


写个存储过程好了。

#2


用SP循环取得表名,再TRUNCATE
OR
mysql -uroot -p123 -N -e "SHOW TABLES">123.TXT

用EXCEL处理123。TXT,加入TRUNCATE,在MYSQL中运行SQL语句

#3


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

#4


select concat('truncate table ',table_name,';') into outfile '/home/truncatetable.sql' from information_schema.tables;


然后  mysql -uroot -p123 databaseA< /home/truncatetable.sql

#5


show tables 得到所有表名,复制到EXCEL中,然后利用EXCEL公式生成如下

truncate table tablA;
truncate table tablB;
...

然后一次性复制到MYSQL工具中执行即可。

#6


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)

#7


为什么不先删除数据库,再新建这个数据库了