> 데이터 베이스 > MySQL 튜토리얼 > 批量清空mysql数据库中的所有表_MySQL

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

WBOY
풀어 주다: 2016-06-01 13:14:42
원래의
970명이 탐색했습니다.

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿