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 一般的なフレームワーク設計リソース管理

推薦する

vue+elementuiは、共有箇条書きボックスの追加と変更の完全なコードを実装します。

目次1. 新しいII. 変更element-ui は、Ele.me のフロントエンド チームが開発者...

Vue3 でモバイル ログインおよび登録モジュールをエレガントに実装する方法

目次序文入力ボックスコンポーネントレイアウトvモデルデータ検証ルール設計形状サブコンポーネントは検証...

表 td 画像水平および垂直中央揃えコード

HTMLコード:コードをコピーコードは次のとおりです。 <td align="cen...

XHTML CSS ウェブサイトデザインの利点と問題点

XHTML は現在国際的に推奨されている標準的な Web サイト設計言語です。Webjx.com も...

ubuntu14.04 に jdk1.8 をインストールするチュートリアル

1. jdkダウンロードアドレスをダウンロードする我下載的是jdk-8u221-linux-x64....

Echarts バー水平棒グラフのサンプルコード

目次横棒グラフデータとスタイルを動的に更新するeChartsの幅と高さの適応の問題を解決する縦棒グラ...

Linux で静的ルーティングを追加するための 2 つの実装方法の分析

ルートを追加するコマンド: 1.ルート追加route add -net 192.56.76.0 ne...

MySQL の lru リンク リストの簡単な分析

1. 従来のLRUリンクリストについて簡単に説明するLRU:最も最近使われなかったものLRU リンク...

カルーセル効果を書くためのjs

この記事では、カルーセルマップの効果を実現するためのjsの具体的なコードを参考までに共有します。具体...

ジョセフリング問題を解決する 3 つの JavaScript メソッド

目次概要問題の説明循環リンクリスト順序付き配列数学的再帰要約する概要ジョセフ・リング問題は、ジョセフ...

Vue は書籍管理ケースを実装します

この記事では、書籍管理を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は次の...

ネイティブ JS カプセル化 vue タブ切り替え効果

この記事の例では、ネイティブJSカプセル化vueタブ切り替えの具体的なコードを参考までに共有していま...

Centos7 でスーパーバイザ デーモンをインストールして設定する方法

初心者は自分で録音しましょう1. スーパーバイザーをインストールします。 Supervisor は ...