MySQL でテーブルを削除する 3 つの方法 (要約)

MySQL でテーブルを削除する 3 つの方法 (要約)

ドロップテーブル

ドロップはテーブル情報を直接削除するため、最も高速ですが、データを取得することはできません。

たとえば、ユーザー テーブルを削除するには、次のようにします。

テーブルユーザーを削除します。

切り捨て (テーブル)

truncate はテーブル データを削除しますが、その構造は削除しません。速度は 2 番目に速いですが、where と一緒に使用することはできません。

たとえば、ユーザー テーブルを削除するには、次のようにします。

テーブルユーザーを切り捨てます。

削除する

delete はテーブル構造を削除せずにテーブル内のデータを削除します。これは最も遅いですが、指定された行を削除するために where と一緒に使用できます。

たとえば、ユーザーテーブル内のすべてのデータを削除する

ユーザーから削除します。

ユーザーテーブル内の指定されたレコードを削除します

user_id = 1 のユーザーから削除します。

3つの方法の違い

類似点

  • 切り捨て、where 句なしの削除、およびドロップはテーブル内のデータを削除します。
  • drop と truncate はどちらも DDL ステートメント (データ定義言語) であり、実行後に自動的にコミットされます。

違い

  • ステートメントの種類: delete ステートメントはデータベース操作言語 (DML) であり、truncate および drop はデータベース定義言語 (DDL) です。
  • 効率: 一般的に言えば、ドロップ > 切り捨て > 削除の順です。
  • テーブル構造を削除するかどうか: 切り捨てと削除ではデータのみが削除され、テーブル構造は削除されません。削除後、切り捨てではインデックスが再構築されます (新しいデータが挿入された後、ID は 0 から始まります)。一方、削除ではインデックスは削除されません (削除されたデータのインデックスの後、新しく挿入されたデータは増加し続けます)。ドロップ ステートメントでは、従属制約、トリガー、インデックスなどを含むテーブル構造が削除されます。
  • セキュリティ: ドロップと切り捨ては MySQL ログを記録せず、ロールバックできませんが、削除は MySQL ログを記録し、ロールバックできます。
  • 戻り値: delete は操作後に削除されたレコードの数を返しますが、truncate は 0 または -1 (成功した場合は 0、失敗した場合は -1) を返します。

クイックファクト

削除と削除元の違い

1つのテーブルのみを削除する場合、効果は同じです。他のテーブルを結合する必要がある場合は、fromを使用する必要があります。

tb1 m から tb1 を削除します (id は tb2 から選択します)。

使用状況の概要

  • テーブル構造を削除する場合は、drop を使用します。
  • テーブル構造を維持しながらすべてのレコードを削除する場合は、truncate を使用します。
  • テーブル構造を維持しながら一部のレコードを削除する場合は、delete を使用します。

これで、MySQL でテーブルを削除する 3 つの方法 (概要) に関するこの記事は終了です。MySQL でテーブルを削除する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL にテーブルが存在するかどうかを確認し、それを一括で削除する方法
  • MySQL でデータを削除してもテーブル ファイルのサイズが変更されないのはなぜですか?
  • MySQL で重複レコードを見つけて削除する方法
  • MySQL で大量のデータ (数千万) を素早く削除するためのいくつかの実用的なソリューションの詳細な説明
  • MySQLサービスを削除する具体的な方法
  • MySQL の重複データの処理方法 (防止と削除)
  • MySQL データベース操作 (作成、選択、削除)
  • Windows で削除された MySQL 8.0.17 のルート アカウントとパスワードを回復する方法
  • Linux で MySQL 8.0 サービスを完全に削除する方法
  • MySQL テーブル削除操作の実装 (delete、truncate、drop の違い)
  • MySQL で削除されたレコードが有効にならない理由のトラブルシューティング

<<:  Nginx Rewrite の使用シナリオと設定方法の分析

>>:  一般的な JavaScript 文字列メソッド 28 個と使用方法のヒントのまとめ

推薦する

CSSはマウスが画像に移動したときにマスク効果を実現します

1.マスクレイヤーのHTMLコードと画像をdivに配置する.img_div に入れました。 <...

WindowsでiTunesのバックアップパスを変更する方法

0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...

CSSブロッキングマージとその他の効果についての簡単な説明

非直交マージンマージンを使用するとマージが発生します次のプロパティはマージンの結合を防止します。国境...

JavaScript 非同期プログラミングにおける Promise の初期の使用法の詳細な説明

1. 概要Promise オブジェクトは、ES6 で提案された非同期プログラミングの仕様です。非同期...

VMware 仮想マシンで HTTP サービスを確立して分析する手順

1. xshell を使用して仮想マシンに接続するか、仮想マシンに直接コマンドを入力します。以下はx...

React Hooksの使用例

目次簡単なコンポーネントの例より複雑な親子コンポーネントのケースオンセレクトの書き方反応する子供Re...

psdカット画像をdiv+css形式に変換する

PSD から div css へのウェブページ切り取り例ステップ 1: まず、すべてのタグの内側と外...

JSはリクエストディスパッチャーを実装する

目次抽象化と再利用シリアルセグメントシリアル、セグメントパラレル要約するはじめに: JS は当然並列...

Linuxのバージョン情報を復号化する方法

Linux バージョンに関する情報を表示および解釈するのは、見た目よりも少し複雑です。単純なバージョ...

画像マーキー効果を実現するネイティブJS

今日は、ネイティブ JS で実装された画像マーキー効果を紹介します。効果は次のとおりです。 実装され...

CentOS 8 システム FTP サーバーのインストールとパッシブ モードの設定の詳細なチュートリアル

目次1. 基本を理解する2. システム環境を確認する3. ftpコマンドをインストールする[オプショ...

WindowsとLinux間でファイルを転送する方法

WindowsとLinux間のファイル転送(1)WinSCPを使用して、WindowsファイルをLi...

CSS: 訪問した疑似クラスセレクタの秘密の記憶

昨日、a:visited を使用して「Guess You Like」の右側にある訪問済みテキストの色...

初心者がHTMLタグを学ぶ(2)

関連記事:初心者が学ぶ HTML タグ (1)初心者は、いくつかの HTML タグを理解することで ...

Windows 64 ビットでの MySQL 8.0.13 のインストールと設定方法のグラフィック チュートリアル

この記事では、MySQL 8.0.13のインストールと設定のチュートリアルを参考までに紹介します。具...