mysql怎样清空一个数据库中的所有表_MySQL
1、如果说清空表数据可以选择delete或者truncate命令。
2、但是针对某列,只能update 表名 set 列明=null。
3、或者alter table 表名 drop column 列名。
4、然后再alter table 表名 add 列名 类型 ,如果这个列没用的话可以不加回去。
1、可以看到向mysql数据库表中新增一条记录,id为59818,可是明明只有一条记录。
2、可以通过“truncate table 表名”方式重置清空id,让id从1开始自动递增。
3、运行“truncate table crew_test”语句,进行重置清空crew_test表id。
4、再次打开crew_test表,新增两条记录,可以看到id从1开始递增。
5、如果想避免id间隔的问题,可以不设置id为自动递增,设计表之后,将id字段的自动递增取消。
6、将id设置为字符类型,然后通过程序随机生成不重复的字符串,新增数据的时候给id赋值。
转载自:http://blogcsdnnet/zhangzhizhen1988/article/details/8432146
Mysql清空表是很重要的操作,也是最常见的操作之一,下面就为您详细介绍Mysql清空表的实现方法,希望能够对您有所帮助。
方法1:重建库和表
一。只导出表结构
导出整个数据库结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database > dumpsql
导出单个数据表结构(不包含数据)
mysqldump -h localhost -uroot -p123456 -d database table > dumpsql
二。只导出表数据
导出整个数据库数据
mysqldump -h localhost -uroot -p123456 -t database > dumpsql
三。导出结构+数据
导出整个数据库结构和数据
mysqldump -h localhost -uroot -p123456 database > dumpsql
导出单个数据表结构和数据
mysqldump -h localhost -uroot -p123456 database table > dumpsql
方法2:生成清空所有表的SQL
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'"
输出结果如下:
TRUNCATE TABLE AUTHGROUPBINDINGS;
TRUNCATE TABLE AUTHGROUPS;
TRUNCATE TABLE AUTHUSERS;
TRUNCATE TABLE CORPBADCUSTOMINFO;
TRUNCATE TABLE CORPSMSBLACKLISYInfo;
TRUNCATE TABLE CORPSMSFILTERINFO;
TRUNCATE TABLE CORPSMSINFO;
TRUNCATE TABLE EABASEREGINFOS;
TRUNCATE TABLE EACORPBLOB;
TRUNCATE TABLE EACORPINFO;
这样就更完善了:
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql eab12
即清空eab12中所有的表。
但是如果有外键的话,很可能会报错。因此还需要加个-f
mysql -N -s information_schema -e "SELECT CONCAT('TRUNCATE TABLE ',TABLE_NAME,';') FROM TABLES WHERE TABLE_SCHEMA='eab12'" | mysql -f eab12
多执行几次,直到不报错。
楼上都说使用delete,由于一般要写日志,所以速度会慢一些,特别是数据量比较大的时候。楼上更恨,把表给删了……-__-!!
最简单而又快速的方法是
truncate table 表名
清空单表可以truncate
清空某个库下的所有表时,可以考虑导出这张表,以导出表结构的方式,把该库下所有的表结构导出来,再删库,导回去就好了
mysqldump
-d
参数是只导结构,不导数据的
编写一段程序,首先读取数据库中的所有表
select
name
from
sysobjects
where
type='U'
然后读一个,删一个,truncate
table
+
表名
0条评论