Home > Database > Mysql Tutorial > body text

批量清空mysql数据库中的所有表_MySQL

WBOY
Release: 2016-06-01 13:14:42
Original
950 people have browsed it

有时候我们会想清空一个数据库,但是又不删除它。比如本地的数据库用服务器备份下来的最新数据库文件同步之前,会先清空本地数据库。

当然不能用drop database,因为这样会连数据库一起删除。其实这样倒是可以,只是之后又要重新创建一个同名的空数据库。或者使用drop table命令一个表一个表删?呃。。。那样的话岂不弱爆了,完全不是我们geek程序员的风格嘛。

这里介绍一种高端方式,想必你已经猜到,没错,就是使用shell脚本:

  1. #!/bin/bash
  2. MUSER="$1"
  3. MPASS="$2"
  4. MDB="$3"
  5. # Detect paths
  6. MYSQL=$(which mysql)
  7. AWK=$(which awk)
  8. GREP=$(which grep)
  9. if[ $# -ne 3 ]
  10. then
  11. echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name}"
  12. echo "Drops all tables from a MySQL"
  13. exit1
  14. fi
  15. TABLES=$($MYSQL -u $MUSER -p$MPASS $MDB -e 'show tables'| $AWK '{ print $1}'| $GREP -v '^Tables')
  16. for t in $TABLES
  17. do
  18. echo "Deleting $t table from $MDB database..."
  19. $MYSQL -u $MUSER -p$MPASS $MDB -e "drop table $t"
  20. done

此段脚本来源于网络。已经亲自试用,好用。

使用方法

将以上脚本保存为sh文件(比如drop.table.sh),执行./drop.table.sh USERNAME PWD DBNAME(将USERNAME、PWD、DBNAME替换成你的mysql用户名、密码、数据库名)即可。

注意:这种方式操作,你的密码会显示在history中,有可能会被黑客利用。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template