鹿泽鹿泽  2024-08-26 11:18:45 鹿泽笔记 隐藏边栏  0 

简单的删除全部数据表的方法是,删除数据库再创建一个同名数据库。有时可能权限不允许。 这个时候就需要一个一个的删除数据表。

数据库的删除和修改前,一定要备份。

#!/bin/bash

# 设置数据库名字
dbname=数据库名字

# 在当前目录创建一个临时文件
tmpfile=`mktemp -u -p .`.sql

# 禁止外键检查
echo "SET FOREIGN_KEY_CHECKS = 0;" > $tmpfile

# 获取所有的数据表
mysqldump --add-drop-table --no-data $dbname | grep 'DROP TABLE' >> $tmpfile

# 从新开启检查
echo "SET FOREIGN_KEY_CHECKS = 1;" >> $tmpfile

# 删除前备份一下数据库
sqlfile=$(date '+%Y-%m-%d').sql
mysqldump $dbname >> $sqlfile

# 执行sql
mysql $dbname   < $tmpfile

#echo filename: $tmpfile;
#cat $tmpfile;

rm -f $tmpfile

# 现在的数据表
echo "show tables" | mysql $dbname;
1、文章版权归作者所有,未经允许请勿转载。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
3、咨询请联系QQ:526009505