mysql保留数据库清空所有表的命令是什么

mysql保留数据库清空所有表的命令是什么,第1张

方法1:重建库和表

一。只导出表结构

导出整个数据库结构(不包含数据)

mysqldump

-h

localhost

-uroot

-p123456

-d

database

>

dump.sql

导出单个数据表结构(不包含数据)

mysqldump

-h

localhost

-uroot

-p123456

-d

database

table

>

dump.sql

二。只导出表数据

导出整个数据库数据

mysqldump

-h

localhost

-uroot

-p123456

-t

database

>

dump.sql

三。导出结构+数据

导出整个数据库结构和数据

mysqldump

-h

localhost

-uroot

-p123456

database

>

dump.sql

导出单个数据表结构和数据

mysqldump

-h

localhost

-uroot

-p123456

database

table

>

dump.sql

方法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

....

可以清空表。

想清空整个数据,那么方法有如下。

1,一个一个的清空所有的表。truncate table tablename

2,导出该数据库表结构,然后删除该表,然后重建数据库。

删除的办法是执行truncat方法,只是不需要每次手动的输入truncate命令进行删除。

通过sql命令的方式生成所有的truncate语句并写入到.sql脚本文件中,然后执行脚本即可完成删除 *** 作,并且保留了表结构。

生成truncate命令的sql语句为:

SELECTCONCAT('TRUNCATETABLE',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test'intooutfile'/tmp/truncate_test.sql';。

然后将生成的.sql脚本拷贝到当前文件夹下面:

mv/tmp/truncate_test.sql$current_dir/。

然后执行.sql脚本将数据库中所有表中数据删除:

source$current_dir/truncate_test.sql。

注意:

在进行select....intooutfile...... *** 作时,默认只能将文件写入到tmp路径下,可以不用将tmp文件夹下面的.sql脚本移动到当前文件夹下,直接在tmp路径下执行.sql脚本即可。

扩展资料:

常见的删除数据库表中数据的方法是通过delete或者truncate的方法进行删除 *** 作,如果删除的是表中某一条或者部分数据的话适合用delete *** 作进行删除,如果要删除表中所有的数据的话,适合是同truncate进行删除 *** 作。

如果不需要保留数据库中所有表的结构,那么答案很简单,执行命令dropdatabase数据库名即可达到目的。

但是如果需要保留该数据库中所有表的结构,只想删除所有表中的数据,多执行几次truncate可以达到。

参考资料:百度百科-数据表


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10711599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存