【MySQL】truncateとdeleteの違いとtruncateの使用方法
SQLにおいて、truncateとdeleteの違いを紹介します。
またtruncateの使用方法を紹介します。
truncateとdeleteの違い
まず、truncateは、テーブルの切り捨てを意味します。
truncateとdeleteの違いは以下の通りです。
- truncateは、rollbackで戻すことはできない
- truncateは、deleteよりも高速
- truncateは、where句は使用できない
- truncateは、auto_incrementの値は初期値に戻る
truncateは、where句は使用できないので、すべてのレコードを削除することになります。
また、deleteの場合は、auto_incrementの値は初期値には戻らないのですが、truncateは戻ります。
そして、注意点としては、rollbackを呼んだ場合、deleteの場合は復元できますが、
truncateは復元できませんので、使用には十分注意が必要です。
truncateの使用方法
truncate table データベース名.テーブル名;
truncate データベース名.テーブル名;
tableは省略してもOKです。
上を実行すると、テーブル名に格納されているレコードがすべて削除されます。