MySQL TRUNCATE TABLE

概要:このチュートリアルでは、MySQL TRUNCATE TABLE 文を使用してテーブル内のすべてのデータを削除する方法について説明します。

MySQLのTRUNCATE TABLEステートメントの紹介

MySQLのTRUNCATE TABLEステートメントは、テーブルのすべてのデータを削除することができます。

論理的には、TRUNCATE TABLEステートメントは、テーブルからすべての行を削除するWHERE句のないDELETEステートメント、またはDROP TABLECREATE TABLEステートメントの一連のように使用されます。

ただし、TRUNCATE TABLE文は行を1つずつ削除するのではなく、テーブルを削除して再作成するので、DELETE文よりも効率的です。

以下はTRUNCATE TABLE文の基本構文です。

Code language: SQL (Structured Query Language) (sql)

この構文では、TRUNCATE TABLEキーワードの後にすべてのデータを削除したいテーブルの名前を指定します。

TABLEキーワードは省略可能です。

切り捨てるテーブルを参照する他のテーブルからFOREIGN KEY制約がある場合、TRUNCATE TABLE文は失敗します。

切り捨て操作は暗黙のコミットを引き起こすため、ロールバックできません。

テーブルにAUTO_INCREMENT列がある場合、TRUNCATE TABLEステートメントはAUTO_INCREMENT列の値を開始値にリセットします。

TRUNCATE TABLEステートメントは、切り捨てられるテーブルと関連付けられたDELETEトリガーを起動しません。

DELETEステートメントとは異なり、TRUNCATE TABLEステートメントによって影響を受ける行数は0であり、これは情報がないものとして解釈されるべきです。

MySQL TRUNCATE TABLEの例

TRUNCATE TABLE 文の使用例を見てみましょう。

まず、デモ用にbooksという名前の新しいテーブルを作成します:

Code language: SQL (Structured Query Language) (sql)

次に、次のストアドプロシージャを使ってbooksテーブルにダミーデータを挿入します:

Code language: SQL (Structured Query Language) (sql)

次に、booksテーブルに1万行をロードしてください。

Code language: SQL (Structured Query Language) (sql)

その後、booksテーブルのデータを確認します。

Code language: SQL (Structured Query Language) (sql)

最後に、TRUNCATE TABLEステートメントを使用してbooksテーブルからすべての行を削除してください。

このチュートリアルでは、MySQL TRUNCATE TABLE ステートメントを使用して、特に大きなテーブルからすべてのデータを効率的に削除する方法について学びました。

  • はい いいえ
  • このチュートリアルは役に立ちましたか。

    コメントを残す

    メールアドレスが公開されることはありません。