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 プロジェクトをデプロイする手順

推薦する

Echart Bar の 2 列チャート スタイルの最も完全な詳細な説明

目次序文インストールと設定1. Echartsをインストールする2. Echartsをグローバルに導...

Kylin V10 サーバーで Storm をコンパイルしてインストールする詳細なプロセス

1 はじめにApache Storm は、Hadoop と同様に、大量のデータを処理するために使用で...

MySQL インデックスの左端原則のサンプルコード

序文最近、MySQL のインデックスについて読んでいました。結合されたインデックスを見ると、左端の原...

Webページ作成の質問: 画像ファイルのパス

この記事は 123WORDPRESS.COM Lightning によるオリジナルです。転載する際に...

MySQL SHOW PROCESSLISTはトラブルシューティングの全プロセスを支援します

1. SHOW PROCESSLISTコマンドSHOW PROCESSLIST は実行中のスレッド ...

ルート権限なしでログインするためのDockerソリューション

docker コマンドを初めて使用する場合、権限の問題を確認するメッセージが表示されます。 unix...

CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します

Pantherは新人としてスタートし、今もまだ新人ですが、人々から学び、学んだことを時々皆さんと共有...

包括的なウェブサイト評価ソリューション

<br />「XXXのウェブサイトを見てみませんか?」といった質問をされることもあります...

Reactはconetxtを通じてマルチコンポーネント値転送関数を実装します

この関数の効果はvue的provide/injectに似ています。 contextを通じて反応できる...

MySQL の複数テーブル関連付け 1 対多クエリを使用して最新のデータを取得する方法の例

この記事では、MySQL で複数のテーブルを使用して 1 対多のクエリを使用して最新のデータを取得す...

実行中の Docker コンテナにボリュームを動的に追加する方法

以前、Docker コンテナの起動後にボリュームをマウントできるかどうか尋ねられたことがあります。m...

一般的なMysql DDL操作の概要

図書館管理ライブラリを作成する データベースを作成します [存在しない場合] ライブラリ名;ライブラ...

ユーザー エクスペリエンス デザイナーとは誰ですか?

怖いですね! 写真の翻訳: (内側から外側へ)最初のレイヤー:ユーザーエクスペリエンス第2層:コンテ...

Flinkのフォールトトレラントメカニズムに関する簡単な説明:ジョブ実行とデーモン

目次1. ジョブ実行のフォールトトレランス1.1 タスクフェイルオーバー戦略1.2 ジョブ再開戦略2...

Vueソースコード解析における仮想DOMの詳しい説明

なぜ仮想DOMが必要なのでしょうか?仮想 DOM はブラウザのパフォーマンス問題を解決するために設計...