有时候我们会想清空一个数据库,但是又不删除它。比如本地的数据库用服务器备份下来的最新数据库文件同步之前,会先清空本地数据库。
当然不能用drop database,因为这样会连数据库一起删除。其实这样倒是可以,只是之后又要重新创建一个同名的空数据库。或者使用drop table命令一个表一个表删?呃。。。那样的话岂不弱爆了,完全不是我们geek程序员的风格嘛。
这里介绍一种高端方式,想必你已经猜到,没错,就是使用shell脚本:
#!/bin/bashMUSER="$1"MPASS="$2"MDB="$3"# Detect pathsMYSQL=$(which mysql)AWK=$(which awk)GREP=$(which grep)if[ $# -ne 3 ]then echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name}" echo "Drops all tables from a MySQL"exit1fiTABLES=$($MYSQL -u $MUSER -p$MPASS $MDB -e 'show tables'| $AWK '{ print $1}'| $GREP -v '^Tables')for t in $TABLESdo echo "Deleting $t table from $MDB database..." $MYSQL -u $MUSER -p$MPASS $MDB -e "drop table $t"done此段脚本来源于网络。已经亲自试用,好用。
使用方法
将以上脚本保存为sh文件(比如drop.table.sh),执行./drop.table.sh USERNAME PWD DBNAME(将USERNAME、PWD、DBNAME替换成你的mysql用户名、密码、数据库名)即可。
注意:这种方式操作,你的密码会显示在history中,有可能会被黑客利用。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号