本篇文章更新時間:2020/03/29
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~
如果本站內容對你有幫助,歡迎使用 BFX Pay 加密貨幣 或 新台幣 贊助支持。
一直以為這是有「簡單」指令可以操作的事(ex: drop all tables; 之類的),後來找了一些資料發現:沒有!!
看討論,主要有兩招:
- 用各種能接上 MySQL 資料庫的方式,一個一個表慢慢刪。
- 開
root
權限,整個把這資料庫一次刪除後重建過同名資料庫。
第二個方法快速又暴力,但避免可能因為權限過大,出現閃失,不建議使用。
所以第一個方法就是:先讀取出所有的資料表,然後組裝指令為依序刪除這些表。 BASH 範例如下:
DROPTABLES=`/path/to/mysql -uUSERNAME -p'USERPASSWORD' DATABASE_NAME -s -e 'show tables' | sed -e 's/^/drop table /' -e 's/$/;/'`
/path/to/mysql -uUSERNAME -p'USERPASSWORD' DATABASE_NAME -e "$DROPTABLES"
要濃縮成一個指令也可以,上例僅拆兩行解讀而已,整個超長~ 但自己寫成程式處理時肯定不只兩行了。