ホームページ  >  記事  >  データベース  >  mysql でテーブル データをクリアする 2 つの方法と違いについての簡単な説明

mysql でテーブル データをクリアする 2 つの方法と違いについての簡単な説明

青灯夜游
青灯夜游転載
2019-11-27 17:43:212730ブラウズ

mysql でテーブル データをクリアする 2 つの方法と違いについての簡単な説明

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

テーブルに自動インクリメント フィールドがある場合、truncate1 にリセットされ、delete最大自動インクリメント値が維持されます。

3. 実行効率

truncateテーブルをスキャンしないことは、テーブルの構造を保持するだけで、テーブルを再作成することと同じです。元のテーブルは非常に効率的です。
delete はテーブル全体をスキャンして where ステートメントに基づいて判断するため、効率は低くなります。

4. 操作ログ

truncateサーバーログが書き込まれていないと復元できません。
delete はサーバー ログを書き込みます。

5. トリガー

truncate はトリガーをアクティブにしませんが、delete はトリガーをアクティブにします。

推奨学習: MySQL チュートリアル

以上がmysql でテーブル データをクリアする 2 つの方法と違いについての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。