MySQLでテーブルデータを削除する方法

MySQLでテーブルデータを削除する方法

MySQL でデータを削除する方法は 2 つあります。1 つは DELETE ステートメント、もう 1 つは TRUNCATE TABLE ステートメントです。 DELETE ステートメントでは、WHERE を通じて削除するレコードを選択できます。 TRUNCATE TABLE を使用すると、テーブル内のすべてのレコードが削除されます。したがって、DELETE ステートメントはより柔軟です。

テーブル内のすべてのレコードをクリアする場合は、次の 2 つの方法を使用できます。

テーブル1から削除

テーブルテーブル1を切り捨てる

2 番目のレコードの TABLE はオプションです。

テーブル内の一部のレコードを削除する場合は、DELETE ステートメントのみを使用できます。

 table1 から削除...;

DELETE に WHERE 句がない場合、TRUNCATE TABLE と同じですが、DELETE は削除されたレコードの数を返すことができますが、TRUNCATE TABLE は 0 を返すという違いが 1 つあります。

テーブルに自動増分フィールドがある場合、WHERE 句なしで TRUNCATE TABLE および DELETE を使用してすべてのレコードを削除すると、自動増分フィールドの開始値は 1 に復元されます。これを実行しない場合は、DELETE ステートメントに WHERE 1 や WHERE true などの永続的な WHERE を追加できます。

   テーブル1から1を削除します。

上記のステートメントは、実行時にすべてのレコードをスキャンします。しかし、この WHERE 条件は常に真であるため、比較は行われません。これにより、自動インクリメントの最大値を維持できますが、すべてのレコードをスキャンするため、実行コストは WHERE 句のない DELETE よりもはるかに大きくなります。

DELETE と TRUNCATE TABLE の最大の違いは、DELETE は WHERE 文を通じて削除するレコードを選択できるものの、実行速度が速くないことです。

切り捨てが削除されると、MySQL ログは記録されず、データを復元できなくなります。 delete の効果は、MySQL テーブル内のすべてのレコードを 1 つずつ削除してすべて削除するのに少し似ていますが、truncate は MySQL テーブルの構造を保持してテーブルを再作成することと同等であり、すべての状態は新しいテーブルと同等です。削除されたレコードの数を返すこともできます。ただし、TRUNCATE TABLE では指定されたレコードを削除できず、削除されたレコードを返すこともできません。しかし、実行は非常に高速です。

標準の SQL ステートメントとは異なり、DELETE は ORDER BY 句と LIMIT 句をサポートしています。これら 2 つの句を使用すると、削除するレコードをより適切に制御できます。たとえば、WHERE 句によってフィルタリングされたレコードの一部だけを削除する場合は、LIMIT を使用できます。最後のいくつかのレコードを削除する場合は、ORDER BY と LIMIT を一緒に使用できます。ユーザー テーブルで、名前が「Mike」に等しい最初の 6 つのレコードを削除するとします。次の DELETE ステートメントを使用できます。

   DELETE FROM users WHERE name = 'Mike' LIMIT 6;

通常、MySQL はどの 6 つのレコードが削除されたかわかりません。安全のために、ORDER BY を使用してレコードをソートできます。
DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;

要約する

以上が、MySQL でテーブルデータを削除する方法に関するこの記事の内容のすべてです。皆様のお役に立てれば幸いです。興味のある方は、MySQL の準備原則の詳細な説明、いくつかの重要な MySQL 変数、ORACLE SQL ステートメント最適化テクノロジの重要なポイントの分析などを参照してください。質問がある場合は、いつでもメッセージを残していただければ、編集者がすぐに返信します。

以下もご興味があるかもしれません:
  • PHP で MySQL 内の同じプレフィックスを持つデータ テーブルを一括削除するコード
  • MySQLでテーブルを作成および削除するための詳細な手順と構文
  • MySQL 入門 (IV) テーブルへのデータの挿入、更新、削除
  • MySQLテーブルを削除する方法
  • mysql drop database データベース削除コマンド例の説明
  • MySQLで重複データを見つけて削除し、1つの例だけを残す方法の詳細な説明
  • データベースを削除せずにMySQLのすべてのテーブルを素早く削除する方法
  • MySQL の Delete および Truncate ステートメントの比較
  • MySQLデータベース内の重複データを削除する方法の概要
  • MySQL のデータ削除とデータ テーブル メソッドの例

<<:  Linux での Python のアップグレードと pip のインストールの詳細な説明

>>:  CocosCreator 一般的なフレームワーク設計リソース管理

推薦する

MySQLでMyISAMストレージエンジンをInnodbに変更した操作記録のまとめ

一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示され...

ドラッグアンドドロップによる並べ替えの詳細を実現する js

目次1. はじめに2. 実装3. HTML ドラッグ アンド ドロップ API を使用しないのはなぜ...

jQueryメソッド属性の詳細な説明

目次1. jQueryの紹介2. jQueryセレクター2.1 5つの基本セレクタ2.2 4種類の関...

Vueはマーキースタイルのテキストの水平スクロールを実装します

この記事では、マーキースタイルのテキストの水平スクロールを実現するためのVueの具体的なコードを参考...

ハイパーリンクAタグを学ぶ

聞く: CSS を使用してハイパーリンクのスタイルを設定しましたが、ホバーしても機能しません。なぜこ...

div+cssとウェブ標準ページの利点

div 要素は、HTML ドキュメント内のブロックレベル コンテンツの構造と背景を提供するために使用...

HTTPプロトコルにおけるステータスコードの意味

暫定的な応答を示し、要求者に操作の続行を要求するステータス コード。コードの説明100 (続行) リ...

ccs3に基づくタイムライン実装方法

Web プロジェクトでは、タイムライン コントロールをよく使用します。この記事では、項目ごとに展開で...

K8Sの5つのコントローラーの紹介と使用

目次k8sのコントローラータイプポッドとコントローラの関係デプロイメント(ステートレスアプリケーショ...

効率をN倍に高めるVimクイックリファレンステーブル15個

昨年の前半から開発と娯楽のために Linux を使い始めましたが、今では Windows には戻れま...

Tomcat を IDEA にダウンロード、インストール、デプロイするチュートリアル (IDEA の 2 つのホット デプロイ設定方法付き)

目次Tomcat ダウンロードチュートリアルTomcat インストールチュートリアルTomcat の...

Dockerコンテナにnginxを簡単にデプロイするプロセスの分析

1. コンテナにnginxサービスをデプロイするcentos:7 イメージはコンテナを実行し、このコ...

MySQL Innodb ストレージ構造と Null 値の保存の詳細な説明

背景:テーブルスペース: すべての INNODB データはテーブルスペース (共有テーブルスペース)...

WeChatアプレット開発で遭遇したことのない落とし穴のまとめ

目次getApp()ページエントリファイルの先頭に変数を定義しますwx.createSelector...

Reactでaxiosを使用してリクエストを送信する一般的な方法

目次Reactにaxios依存関係をインストールして導入するGETリクエストにaxiosを使用するa...