1
A
回答
0
在網絡上搜索後,我發現了一個shell腳本到這裏丟棄所有表:http://www.cyberciti.biz/faq/how-do-i-empty-mysql-database/
然後,我改變了腳本,刪除數據庫中的所有視圖。 這是最後的結果是:
#!/bin/bash
PREFIX=""
SUFFIX=""
HOST="localhost"
PORT="3306"
while getopts p:s:h:P: OPCAO; do
case "${OPCAO}" in
p) PREFIX="${OPTARG}" ;;
s) SUFFIX="${OPTARG}" ;;
h) HOST="${OPTARG}" ;;
P) PORT="${OPTARG}" ;;
esac
done
shift $((OPTIND-1))
MUSER="$1"
MPASS="$2"
MDB="$3"
# Detect paths
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)
if [ $# -eq 0 ]
then
echo "Usage: $0 [-h Host] [-P Port] [-p Prefix-View-Name] [-s Suffix-View-Name] {MySQL-User-Name} {MySQL-User-Password} {MySQL-Database-Name}"
echo "Drops all views from a MySQL"
exit 1
fi
TABLES=$($MYSQL -h $HOST -P $PORT -u $MUSER -p$MPASS $MDB -e "SELECT table_name FROM information_schema.views WHERE table_schema = '$MDB' AND table_name LIKE '$PREFIX%$SUFFIX';" | $AWK '{ print $1}')
for t in $TABLES
do
echo "Deleting $t view from $MDB database..."
$MYSQL -h $HOST -P $PORT -u $MUSER -p$MPASS $MDB -e "drop view $t"
done
該解決方案將工作只是爲了誰使用類Unix系統。
調用腳本,我用:
./script.sh [-h host] [-P port] [-p prefixViewName] [-s suffixViewName] username password databaseName
編輯:我改進了腳本接受選項參數,如主機,端口也是一個前綴和後綴過濾什麼意見將被丟棄。
2
如果要在MySQL客戶端中執行此操作,可以使用information_schema動態生成DDL語句,將它們轉儲到SQL腳本,然後執行該腳本。
實施例:
select concat('drop view ',table_schema,'.',table_name,';') as ddl
into outfile '/tmp/drop_all_views.sql'
from information_schema.views
where table_schema = 'your_schema';
\. /tmp/drop_all_views.sql
相關問題
- 1. 如何使用存儲過程刪除mysql數據庫中的所有視圖?
- 2. 如何從服務器上的所有數據庫中刪除視圖
- 3. 如何從數據庫表中刪除所有數據?
- 4. 如何在刪除後添加多視圖並刪除視圖並從視圖中獲取所有數據?
- 5. 刪除了所有MySQL數據庫,包括mysql,如何恢復?
- 6. 如何使用mysql查詢/命令從mysql數據庫中刪除所有視圖?
- 7. backbone.js從數據庫刪除模型從視圖中刪除
- 8. 如何從mysql數據庫中刪除不在數組中的所有元素?
- 9. 從數據庫中刪除所有信息(MySQL)
- 10. 從mysql數據庫的所有表中刪除一條記錄
- 11. 如何從圖庫中刪除視頻?
- 12. MySQL的程序來刪除數據庫中的所有數據
- 13. 如何從移動視圖中刪除數據庫
- 14. 從UIScrollView中刪除所有子視圖?
- 15. 從視圖中刪除所有UIButtons?
- 16. 如何從數據庫和列表視圖中刪除所選項目
- 17. 如何從SQL服務器數據庫中刪除所有數據庫索引
- 18. 從數據庫的所有表中刪除所有記錄
- 19. 從數據庫的所有表中刪除所有行
- 20. mysql,如何從數據庫中刪除選定的數據?
- 21. django - 在視圖中從數據庫中刪除數據
- 22. 從MySQL數據庫中刪除一行
- 23. 從MySQL數據庫中刪除權限
- 24. 從MySQL數據庫中刪除ID
- 25. MySQL從數據庫中刪除行
- 26. 從MySQL數據庫中刪除記錄
- 27. 從mysql數據庫中刪除行
- 28. 自動從Mysql數據庫中刪除
- 29. 如何從Cloudant數據庫中刪除所有文檔,甚至是在Bluemix中刪除數據庫
- 30. 如何刪除/從數據視圖中刪除行/列(不使用數據視圖刪除。)