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 個と使用方法のヒントのまとめ

推薦する

Docker-compose を使用して Django アプリケーションをオフラインでデプロイする方法

目次開発環境用のDocker-ceをインストールする開発環境用のDocker-composeをインス...

MySQL テーブルにはどのくらいの量のデータを保存できますか?

プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...

Vue lazyload 画像遅延読み込み例の詳細な説明

ドキュメント: https://github.com/hilongjw/vue-lazyload 1...

JavaScript で円形カルーセルを実装する

この記事では、円形カルーセルを実装するためのJavaScriptの具体的なコードを参考までに紹介しま...

Windows 10 での mysql5.5 データベース コマンドラインの中国語文字化け問題を解決する

システムをリセットした後、かなり前にインストールした MySQL データベースのコンソール クエリで...

JS 関数とコンストラクタを簡単に理解する

目次1. 概要1.1 Functionコンストラクタを使用して関数を作成する1.2 機能と目的2. ...

Centos7 での Mysql5.7.19 の詳細なインストールチュートリアル

1. ダウンロード公式サイトからmysql-5.7.19-linux-glibc2.12-x86_6...

better-scrollプラグインのスライドできないバグについて(2021年プラグインで解決)

より良いスクロールの原則親コンテナーであるため、ラッパーの高さはコンテンツのサイズに応じて増加します...

Linux 名前空間ユーザーの詳細な説明

ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...

複数クリックを防ぐVueの実践

通常、クリック イベントは、メッセージ リマインダーのさまざまな状況に分割されます。これらが処理され...

ディスク容量不足による MySQL レプリケーション障害の解決方法

目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...

Nginx は gzip 圧縮に基づいてアクセス速度を向上します

1. nginx はなぜ gzip を使用するのですか? 1. 圧縮の役割:ページがgzipで圧縮さ...

Vueカスケードドロップダウンボックスの設計と実装

目次1. データベース設計2. フロントエンドページ3. 完全なデモフロントエンド開発では、カスケー...

VUE ユニアプリテンプレート構文についての簡単な説明

1.v-bind(略称:)コンポーネント プロパティのデータで定義されたデータ変数を使用するか、コン...

mysql 8.0.19 winx64.zip インストール チュートリアル

この記事は参考までにmysql 8.0.19 winx64.zipのインストールチュートリアルを記録...