MySQLのデータ削除方法2つとその違い

Mysql-1

2012年07月17日(火)

  そうです。 データ削除方法は2つあります。 一つはDELETE文。 もう一つはTRUNCATE文。 今回はこの二つの違いと使い方について備忘録をとっておきます。     □TRUNCATE こちらの使い方は以下のコマンドの実装で可能です。
> TRUNCATE TABLE テーブル名;
これでテーブル名のテーブルのデータは全データ消去されます。     □DELETE こちらの使い方は以下のコマンドの実装で可能です。  
> DELETE FROM テーブル名;
これでテーブル名のテーブルのデータは全データ消去されます。     □その違い さて、上記の二つの削除コマンドの結果は同じですね。 では、なにが違うのでしょうか?   2つの違いは「DELETE 文」はデータを1つ1つ削除するのに対して、 「TRUNCATE 文」はいったん  
> DROP TABLE テーブル名
  を行った上で再度同じテーブルを作成する点にあります。   データを1つ1つ削除するよりも テーブルそのものを削除して再作成したほうが高速らしいです。 ※環境や実装方法によるらしいですが。   あと削除方法にも名前があったと思いますが、 ちょっと忘れてしまいました。 でも、そんなこと覚えなくても僕は構わないのでスルーww   たしか、 TRUNCATEは復元できなくて、 DELETEは復元できるらしいです。 COMMITがなんとかとかいうやつです。 で、もっとも簡単な違いは、 AUTO_INCREMENTやらなにやらがDELETEではリセットされません。     なので、ケースバイケースで使い分けれますね。 あとは、 条件文、WHERE句がTRANCATEでは使えないということです。 これでもう使用条件は確定ですね。   全消去しない限りはDELETEで問題なさそうですね。 TRANCATEの時は最新の注意をしてください。 では!    

スポンサードリンク

運営サービスPR

スポンサードリンク

運営サービスPR