MySQL でテーブルデータをクリアする 2 つの方法とその違い

MySQL でテーブルデータをクリアする 2 つの方法とその違い

MySQL でデータを削除するには 2 つの方法があります。

  1. 切り詰めは大まかな伐採の一種である
  2. 削除は洗練された削除である

削除操作

テーブル内のすべてのデータをクリアする必要がある場合は、次のいずれかを実行できます。

テーブル名から削除します。
テーブル tablename を切り捨てます。

データの一部だけを削除したい場合は、delete のみを使用できます。

delete from tablename where case1 and case2;

違い

一部のデータを細かく削除する場合は、削除のみを使用できます。
すべてのテーブル データをクリアする場合は、どちらの方法も使用できます。2 つの方法にはいくつかの違いがあります。

戻り値

truncate の戻り値は 0 ですが、delete は削除されたレコードの数を返します。

mysql> serviceHost を切り捨てます。
クエリは正常、影響を受けた行は 0 行 (0.04 秒)
mysql> 作成者が 'test' である serviceHost から削除します。
クエリは正常、4 行が影響を受けました (0.01 秒)

自動増分フィールド

テーブルに自動増分フィールドがある場合、切り捨てによりフィールドは 1 にリセットされ、削除により最大の自動増分値が保持されます。

実行効率

Truncate はテーブルをスキャンしません。これは、テーブルを再作成し、テーブル構造のみを保持してから元のテーブルを削除するのと同じであり、非常に効率的です。
Delete はテーブル全体をスキャンし、where ステートメントに基づいて判断を行うため、非効率的です。

操作ログ

切り捨てはサーバー ログに書き込まれず、回復できません。
削除するとサーバーログに書き込まれます。

トリガー

切り捨てではトリガーはアクティブになりませんが、削除ではアクティブになります。

要約する

上記は、私が紹介した MySQL テーブル データをクリアする 2 つの方法とその違いです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • MySQL のデータテーブルをクリアする例と分析
  • MySQLデータテーブルフィールドの内容に対するバッチ変更、クリア、コピー、その他の更新コマンド
  • asp php クリアアクセス mysql mssql データベース コード

<<:  JavaScript のクロージャの問題の詳細な説明

>>:  IDEA で Docker プロジェクトをデプロイする手順

推薦する

17の広告効果測定の解釈

1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...

MySQL sql_mode の分析と設定の説明

昨夜、MySQL データベースにデータセットを挿入したときにエラーが発生しました。データベースは容赦...

フロントエンド例外 502 不正なゲートウェイの原因と解決策

目次502 不正なゲートウェイ エラーの発生1. 502 不正なゲートウェイ エラーとは何ですか? ...

Linux でジャンプ サーバー経由でリモート サーバーに接続し、ファイルを転送する方法

最近、Linux ホストに環境を展開する際に多くの問題に遭遇しました。最初の問題は、ジャンプ サーバ...

モバイルデバイス上の 1px 境界線を解決する最善の方法 (推奨)

モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...

MySQLインデックスが失敗するいくつかの状況の詳細な分析

1. 先頭のあいまいクエリではインデックスを使用できません (「%XX」や「%XX%」など)コード値...

JQueryセレクターの詳細な説明

目次基本的なセレクター:レベルセレクター:属性セレクター:フィルターセレクター:フォーム属性セレクタ...

Nginx 書き換えジャンプの適用シナリオの詳細な説明

アプリケーションシナリオ1: ドメイン名ベースのリダイレクト会社の古いドメイン名は www.accp...

nginx高可用性クラスタの実装プロセス

この記事は主に、nginx 高可用性クラスタの実装プロセスを紹介します。この記事のサンプルコードは非...

LinuxはRsync+Inotifyを使用してローカルとリモートのデータのリアルタイム同期を実現します。

0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...

JavaScriptで継承を実装するいくつかの方法

目次構造継承(callで実装)プロトタイプチェーン継承(プロトタイプチェーンの助けを借りて実装)複合...

なぜ Tomcat が起動できないのでしょうか?

目次現象:ポートの使用:ファイルにスペルミスがあります:現象: Tomcat がインストールされ、W...

MySQL thread_stack 接続スレッドの最適化

MySQL は、ネットワーク経由だけでなく、名前付きパイプ経由でも接続できます。MySQL への接続...

HTML テーブルの空白セル補完を実装する方法

私が初めて Web 開発を独学で学んだ頃は、いわゆる DIV/CSS レイアウトはなく、テーブル レ...

HTMLの行間設定方法と問題点

<p></p> の行間隔を設定するには、style="line-h...