mysql怎样清空一个数据库中的所有表_MySQL

mysql怎样清空一个数据库中的所有表_MySQL,第1张

数据库:清空表中某列中的数据何操作方法:

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

+

表名

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » mysql怎样清空一个数据库中的所有表_MySQL

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情