『壹』 在Mysql中還有一種方式可以刪除表中的所有數據,需要用到什麼關鍵字
使用truncate語句就可以刪除表中所有數據。
truncate 語句的簡單說明:
一般情況下,刪除數據大家都在使用delete語句;
這個 truncate 命令很簡單,它的意思是:刪除表的所有記錄;
相當於 delete 語句不寫 where 子句一樣;
其語法結構為:TRUNCATE [TABLE] tbl_name;
這里簡單的給出個示例,我想刪除 friends 表中所有的記錄,可以使用如下語句:truncate table friends;
如果想要刪除表的所有數據,truncate語句要比 delete 語句快。因為 truncate 刪除了表,然後根據表結構重新建立它,而 delete 刪除的是記錄,並沒有嘗試去修改表;
不過truncate命令快規快,卻不像delete命令那樣對事務處理是安全的。因此,如果我們想要執行truncate刪除的表正在進行事務處理,這個命令就會產生退出並產生錯誤信息。
刪除的辦法是執行truncat方法,只是不需要每次手動的輸入truncate命令進行刪除。
通過sql命令的方式生成所有的truncate語句並寫入到.sql腳本文件中,然後執行腳本即可完成刪除操作,並且保留了表結構。
生成truncate命令的sql語句為:
SELECTCONCAT('TRUNCATETABLE',TABLE_NAME,';')FROMinformation_schema.TABLESWHERETABLE_SCHEMA='test'intooutfile'/tmp/truncate_test.sql';。
然後將生成的.sql腳本拷貝到當前文件夾畢如下面:
mv/tmp/truncate_test.sql$current_dir/。
然後執行.sql腳本將資料庫中所有表中數據刪除:
source$current_dir/truncate_test.sql。
注意:
在進行select....intooutfile......操作時,默認只能將文件寫入到tmp路徑下,可以不用將tmp文件夾下面的.sql腳本移動到當前文件夾下,直接在tmp路徑下執行.sql腳本即可。
(2)mysql如何刪除表數據擴展閱讀:
常見的刪除資料庫表中數據的方法是通過delete或者truncate的方法進行刪除操作,如果刪除的是表中某一條或者部分數據的話適合用delete操作進行刪除,如果要刪除表中所有的數據的話,適合是同truncate進行刪除操作。
如果不需要保留資料庫中所有表的結構,那麼答案很簡單,執行命令dropdatabase資料庫名即可達到目的。
但是如果需要保留該資料庫中所有表的結構,只想刪除所有表中的數據,多執行老拆幾次truncate可以達到。
參侍數棗考資料:網路-數據表