我想通過刪除所有表來清空phpmyadmin中的mysql數據庫,但是這會生成外鍵錯誤。如何在phpmyadmin中清空mysql數據庫
解決方法之一是以正確的順序刪除表以防止外鍵錯誤,但有沒有辦法在phpmyadmin中自動執行此操作?例如清空數據庫的功能?
我想通過刪除所有表來清空phpmyadmin中的mysql數據庫,但是這會生成外鍵錯誤。如何在phpmyadmin中清空mysql數據庫
解決方法之一是以正確的順序刪除表以防止外鍵錯誤,但有沒有辦法在phpmyadmin中自動執行此操作?例如清空數據庫的功能?
你是什麼意思數據庫這裏cleanup-
在第一種情況下,更好的選擇是放下數據庫並重新創建它。
或者,如果由於任何特定的原因你不想刪除數據庫(因爲這樣你將失去所有的觸發器/視圖等),然後首先得到表由show tables命令,並準備「drop table table_name ;」腳本在Excel中或通過下面的命令,並通過phpmyadmin執行。
SELECT CONCAT("drop table ",table_schema,".",table_name,";") FROM information_schema.TABLES WHERE table_type='BASE TABLE' AND table_schema='my_db';
在第二種情況,如果你想清除數據只有這樣,你可以通過以下命令準備截斷腳本,然後通過phpmyadmin-
SELECT CONCAT執行它(「截斷表」,TABLE_SCHEMA,「」 ,table_name,「;」)FROM information_schema.TABLES WHERE table_type ='BASE TABLE'AND table_schema ='my_db';
注意:在執行drop或truncate命令前執行,執行後執行set foreign_key_checks=1;
以避免與外鍵相關的問題。
您可以在服務器控制檯上執行以下命令。
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "drop table $table"; done
OR
mysql -uroot -p<pass> -Nse 'show tables' database1 | while read table; do mysql -uroot -p<pass> database1 -e "truncate table $table"; done
如何刪除所有表? – MJoraid
我所做的只是擺脫整個數據庫並創建一個具有相同名稱的新數據庫。它需要更少的時間和更少的鼠標點擊。 – MJoraid