1. 程式人生 > 資料庫 >Mysql刪除資料以及資料表的方法例項

Mysql刪除資料以及資料表的方法例項

在Mysql 中刪除資料以及資料表非常的容易,但是需要特別小心,因為一旦刪除所有資料都會消失。

刪除資料

刪除表內資料,使用delete關鍵字。

刪除指定條件的資料

刪除使用者表內id 為1 的使用者:

delete from User where id = 1;

刪除表內所有資料

刪除表中的全部資料,表結構不變。

對於 MyISAM 會立刻釋放磁碟空間,InnoDB 不會釋放磁碟空間。

delete from User;

釋放磁碟空間

optimize table User;

刪除資料表

刪除資料表分為兩種方式:

  1. 刪除資料表內資料以及表結構
  2. 只刪除表內資料,保留表結構

drop

使用drop關鍵詞會刪除整張表,啥都沒有了。

drop table User;

truncate

truncate 關鍵字則只刪除表內資料,會保留表結構。

truncate table User;

思考題:如何批量刪除字首相同的表?

想要實現 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換成資料庫的名稱,wp_換成需要批量刪除的表字首。

注意只有drop命令才能這樣用:

drop table if exists tablename`;

truncate只能這樣使用:

truncate table `tp_trade`.`setids`;

總結

  • 當你不再需要該表時, 用drop;
  • 當你仍要保留該表,但要刪除所有記錄時, 用truncate;
  • 當你要刪除部分記錄時, 用delete。

到此這篇關於Mysql刪除資料以及資料表的文章就介紹到這了,更多相關Mysql刪除資料及資料表內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!