删除数据表和清空数据表的内容(保存表结构)的SHELL脚本
生活随笔
收集整理的這篇文章主要介紹了
删除数据表和清空数据表的内容(保存表结构)的SHELL脚本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
A,刪除指定數據庫的所有數據表
#!/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 ] thenecho "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 ] thenecho "Error - 用戶名或密碼無效,無法連接mysql數據庫"exit 2 fiTABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )# make sure tables exits if [ "$TABLES" == "" ] thenecho "Error - 在數據庫中 $MDB 未發現相關表"exit 3 fi# let us do it for t in $TABLES doecho "Deleting $t table from $MDB database..."$MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "drop table $t" done?
B,清空數據表的內容(保存表結構)
#!/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 ] thenecho "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 ] thenecho "Error - 用戶名或密碼無效,無法連接mysql數據庫"exit 2 fiTABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e 'show tables' | $AWK '{ print $1}' | $GREP -v '^Tables' )# make sure tables exits if [ "$TABLES" == "" ] thenecho "Error - 在數據庫中 $MDB 未發現相關表"exit 3 fi# let us do it for t in $TABLES doecho "Truncate $t table from $MDB database..."$MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e "TRUNCATE TABLE $t" done總結
以上是生活随笔為你收集整理的删除数据表和清空数据表的内容(保存表结构)的SHELL脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring学习总结(9)——Sprin
- 下一篇: 索引对mysql行锁和表锁影响