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

推薦する

Tomcatアーキテクチャの原則をアーキテクチャ設計に分析する

目次1. 学習目標1.1. Tomcatアーキテクチャの設計と原則をマスターして社内スキルを向上させ...

MySQL で誕生日から年齢を計算する複数の方法

以前はMySQLをあまり使用していなかったため、MySQLの機能にあまり詳しくありませんでした。この...

MySQL Binlog ログの読み取り時によくある 3 つのエラー

1. mysqlbinlog: [エラー] 不明な変数 'default-character...

iostat を使用して Linux ハードディスクの IO パフォーマンスを表示する方法

TOP 観察: IO 待機に占められる CPU 時間の割合。30% を超えると、IO の負荷が高くな...

ネイティブ JS 音楽プレーヤー

この記事の例では、音楽プレーヤーを実装するためのJSの具体的なコードを参考までに共有しています。具体...

Linux デバイス用ネットワーク ドライバーの紹介

有線ネットワーク: イーサネット 無線ネットワーク: 4G、WiFi、Bluetooth、5G 概要...

JSON.stringify を使用する際に発生する循環参照の問題を解決する方法の詳細な説明

プログラマーが日常的に TypeScript/JavaScript 開発を行う場合、複雑な Java...

MySQLでANDとORを組み合わせる問題を解決する

以下のように表示されます。 SELECT prod_name,prod_price FROM pro...

大量のデータを含むエレメントのシャトルボックスで「すべて選択」をクリックするとスタックする問題の解決方法

目次解決策1: EUIの転送コンポーネントをコピーして変更し、プロジェクトディレクトリに導入する解決...

MySQLはinit-connectを使用してアクセス監査機能の実装を増やします

まず init-connect を通じて mysql 接続を初期化し、次にインスタンスに接続する必要...

JSはモバイル端末の画面を1つずつ上下にスライドさせる機能を実装します

この記事では、モバイル端末を一度に1画面ずつ上下にスライドさせるためのJSの具体的なコードを参考まで...

image/x-png の ContentType について

これにより、png ファイルのアップロードも不可能になりました (後で情報を調べたところ、レジストリ...

複数の HTML ページで HTML コードをまとめて呼び出す方法

方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...

Nodejs は readline を使用してコンテンツ入力を促すサンプルコード

目次序文1. batがjsを実行する2. ターミナルにバージョン番号を入力してパッケージ化コマンドを...

MySQL mysqldump の使い方の詳しい説明

1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...