Heim > Datenbank > MySQL-Tutorial > 批量清空mysql数据库中的所有表_MySQL

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

WBOY
Freigeben: 2016-06-01 13:14:42
Original
978 Leute haben es durchsucht

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

当然不能用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中,有可能会被黑客利用。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage