在Mysql 中刪除數(shù)據(jù)以及數(shù)據(jù)表非常的容易,但是需要特別小心,因?yàn)橐坏﹦h除所有數(shù)據(jù)都會消失。
刪除數(shù)據(jù)
刪除表內(nèi)數(shù)據(jù),使用delete關(guān)鍵字。
刪除指定條件的數(shù)據(jù)
刪除用戶表內(nèi)id 為1 的用戶:
delete from User where id = 1;
刪除表內(nèi)所有數(shù)據(jù)
刪除表中的全部數(shù)據(jù),表結(jié)構(gòu)不變。
對于 MyISAM 會立刻釋放磁盤空間,InnoDB 不會釋放磁盤空間。
釋放磁盤空間
刪除數(shù)據(jù)表
刪除數(shù)據(jù)表分為兩種方式:
- 刪除數(shù)據(jù)表內(nèi)數(shù)據(jù)以及表結(jié)構(gòu)
- 只刪除表內(nèi)數(shù)據(jù),保留表結(jié)構(gòu)
drop
使用drop關(guān)鍵詞會刪除整張表,啥都沒有了。
truncate
truncate 關(guān)鍵字則只刪除表內(nèi)數(shù)據(jù),會保留表結(jié)構(gòu)。
思考題:如何批量刪除前綴相同的表?
想要實(shí)現(xiàn) drop table like 'wp_%'
,沒有直接可用的命令,不過可以通過Mysql 的語法來拼接。
-- 刪除”wp_”開頭的表:
SELECT CONCAT( 'drop table ', table_name, ';' ) AS statement
FROM information_schema.tables
WHERE table_schema = 'database_name' AND table_name LIKE 'wp_%';
其中database_name換成數(shù)據(jù)庫的名稱,wp_換成需要批量刪除的表前綴。
注意只有drop命令才能這樣用:
drop table if exists tablename`;
truncate只能這樣使用:
truncate table `tp_trade`.`setids`;
總結(jié)
- 當(dāng)你不再需要該表時(shí), 用drop;
- 當(dāng)你仍要保留該表,但要刪除所有記錄時(shí), 用truncate;
- 當(dāng)你要刪除部分記錄時(shí), 用delete。
到此這篇關(guān)于Mysql刪除數(shù)據(jù)以及數(shù)據(jù)表的文章就介紹到這了,更多相關(guān)Mysql刪除數(shù)據(jù)及數(shù)據(jù)表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- MySQL 常見的數(shù)據(jù)表設(shè)計(jì)誤區(qū)匯總
- MySQL數(shù)據(jù)表分區(qū)策略及優(yōu)缺點(diǎn)分析
- MySQL高級特性——數(shù)據(jù)表分區(qū)的概念及機(jī)制詳解
- MySQL如何構(gòu)建數(shù)據(jù)表索引
- MySQL 索引和數(shù)據(jù)表該如何維護(hù)
- MySQL創(chuàng)建數(shù)據(jù)表時(shí)設(shè)定引擎MyISAM/InnoDB操作
- 刪除mysql數(shù)據(jù)表如何操作
- 關(guān)于MYSQL 你需要知道的數(shù)據(jù)類型和操作數(shù)據(jù)表
- MySQL創(chuàng)建數(shù)據(jù)表并建立主外鍵關(guān)系詳解
- MySQL數(shù)據(jù)表合并去重的簡單實(shí)現(xiàn)方法
- MySQL 如何設(shè)計(jì)統(tǒng)計(jì)數(shù)據(jù)表