mysql如何删除数据库中所有数据但是要保留表

mysql如何删除数据库中所有数据但是要保留表,第1张

删除的办法是执行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可以达到。

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

1

找个别的机器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的也可以试下):

拷贝

mysql/data/mysql

目录到你的mysql/data/

下吧

2

试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据;

如果不能启动,看错误日志,争取启动了。

3

赶紧把数据备份一份出来,重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非生产重要的环境下。

4

重新做用户授权。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存