1. 程式人生 > >mysql中的delete , drop 和truncate 區別

mysql中的delete , drop 和truncate 區別

bubuko 連表 分享 區別 sql 不想 show 直接 cat

  • 1、delete 和 truncate 僅僅刪除表數據,drop 連表數據和表結構一起刪除,打個比方,delete 是單殺,truncate 是團滅,drop 是把電腦摔了。
  • 2、delete 是 DML 語句,操作完以後如果沒有不想提交事務還可以回滾,truncate 和 drop 是 DDL 語句,操作完馬上生效,不能回滾,打個比方,delete 是發微信說分手,後悔還可以撤回,truncate 和 drop 是直接扇耳光說滾,不能反悔。
  • 3、執行的速度上,drop>truncate>delete,打個比方,drop 是神舟火箭,truncate 是和諧號動車,delete 是自行車。

  技術分享圖片

  技術分享圖片

  技術分享圖片

  delete 是刪除一條數據,truncate是將這個表的所有數據都刪除,這兩種不刪除表的結構,可以用

  技術分享圖片

  來查看這個表的結構:

  技術分享圖片

  但是:
  技術分享圖片

  就將表的結構也刪除了,不能用 show columns from table_db1;來顯示別的結構了;

mysql中的delete , drop 和truncate 區別