超实用--删除MYSQL中指定的数据的全部表
作过的人都知道,重复测试数据库的苦恼。
用法:# Usage: ./script user password dbnane mysql.nixcraft.in
~~~~~~~~~~~~~
#!/bin/bash
# 删除mysql中所有表
# 示例:
# Usage: ./script user password dbnane
# Usage: ./script user password dbnane server-ip
# Usage: ./script user password dbnane mysql.nixcraft.in
# ---------------------------------------------------
MUSER="$1"
MPASS="$2"
MDB="$3"
MHOST="localhost"
[ "$4" != "" ] && MHOST="$4"
# 设置命令路径
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)
# help
if [ ! $# -ge 3 ]
then
echo "Usage: $0 {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name} [host-name]"
echo "Drops all tables from a MySQL"
exit 1
fi
# 连接mysql数据库
$MYSQL -u $MUSER -p$MPASS -h $MHOST -e "use $MDB" &>/dev/null
if [ $? -ne 0 ]
then
echo "Error - 用户名或密码无效,无法连接mysql数据库"
exit 2
fi
TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )
# make sure tables exits
if [ "$TABLES" == "" ]
then
echo "Error - 在数据库中 $MDB 未发现相关表"
exit 3
fi
# let us do it
for t in $TABLES
do
echo "Deleting $t table from $MDB database..."
$MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "drop table $t"
done
最新文章
- EF里的默认映射以及如何使用Data Annotations和Fluent API配置数据库的映射
- Intellij IDEA 自动生成 serialVersionUID
- Linux测试环境部署jdk(一)
- LeetCode-Search in Rotated Sorted Array II
- 从csdn博客搬家过来,请多关照!
- Vim入门教程
- mysql学习之-密码管理(默认密码,修改密码,解决忘记密码)
- [经典算法] 字符串搜索Boyer-Moore
- asp.net 客户邮件群发功能 SendMail 发送静态化html
- php获取系统信息的方法
- js执行上下文(由浅入深)
- 使用netcat进行反弹链接的shellcode
- SIM卡读卡器的研究与设计
- mysql中的范式与范式——读<;<;高性能mysql>;>;笔记一
- .net Core 生产环境报错 MIME
- Python 全栈开发一 python初识
- 796B Find The Bone
- Django Celery定时任务和时间设置
- JPQL和SQL的比较
- Redis学习---基础学习[all]