MySQL
でデータを削除するには 2 つの方法があります:
1、truncate
(切り捨て) は大まかなタイプです。 Clear
2 と delete
は詳細な削除です
削除操作
必要な場合テーブル内のすべてのデータをクリアするには、次の 2 つの方法のいずれかを使用できます:
delete from tablename; truncate table tablename;
データの一部のみを削除する場合は、delete
:
delete from tablename where case1 and case2;
違い
データの一部を詳細に削除する場合は、delete
のみを使用できます。
すべてのテーブル データをクリアする場合、両方のメソッドを使用できますが、現時点では、2 つのメソッドには次のような違いがあります:
1. 戻り値
truncate
戻り値は 0
ですが、delete
は削除されたレコードの数
mysql> truncate serviceHost; Query OK, 0 rows affected (0.04 sec) mysql> delete from serviceHost where creator='test'; Query OK, 4 rows affected (0.01 sec)
2 を返します。 -increment field
テーブルに自動インクリメント フィールドがある場合、truncate
は 1
にリセットされ、delete
最大自動インクリメント値が維持されます。
3. 実行効率
truncate
テーブルをスキャンしないことは、テーブルの構造を保持するだけで、テーブルを再作成することと同じです。元のテーブルは非常に効率的です。 delete
はテーブル全体をスキャンして where
ステートメントに基づいて判断するため、効率は低くなります。
4. 操作ログ
truncate
サーバーログが書き込まれていないと復元できません。 delete
はサーバー ログを書き込みます。
5. トリガー
truncate
はトリガーをアクティブにしませんが、delete
はトリガーをアクティブにします。
推奨学習: MySQL チュートリアル
以上がmysql でテーブル データをクリアする 2 つの方法と違いについての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。