SQL DROP TABLE

概要: このチュートリアルでは、SQL DROP TABLE ステートメントを使用して、データベースから1つ以上のテーブルを削除する方法を学習します。

SQL DROP TABLE ステートメントの概要

データベースが進化するにつれて、データベースから不要になったテーブルや冗長なテーブルを削除する必要があります。テーブルを削除するには、DROP TABLE ステートメントを使用します。

DROP TABLE ステートメントの構文を以下に示します。

DROP TABLE [IF EXISTS] table_name;Code language: SQL (Structured Query Language) (sql)
SQL Drop Table

既存のテーブルを削除するには、DROP TABLE 句の後にテーブル名を指定します。削除しようとしているテーブルが存在しない場合、データベースシステムはエラーを発行します。

存在しないテーブルを削除するエラーを防ぐために、オプション句 IF EXISTS を使用します。IF EXISTS オプションを使用すると、存在しないテーブルを削除しても、データベースシステムはエラーをスローしません。一部のデータベースシステムは、代わりに警告または通知をスローします。

すべてのデータベースシステムが IF EXISTS オプションをサポートしているわけではないことに注意してください。IF EXISTS オプションをサポートしているのは、MySQLPostgreSQL、および SQL Server 2016 です。

DROP TABLE ステートメントは、テーブルのデータと構造の両方を完全に削除します。一部のデータベースシステムでは、テーブルをデータベースから削除する前に、テーブルが空である必要があります。これは、使用中のテーブルを誤って削除するのを防ぐのに役立ちます。

テーブル内のすべてのデータを削除するには、DELETE または TRUNCATE TABLE ステートメントを使用できます。

別のテーブルの 外部キー制約 によって参照されているテーブルを削除するには、テーブルを削除する前に、外部キー制約を無効にするか削除する必要があります。

SQL DROP TABLE の例

DROP TABLE ステートメントを練習するために、新しいテーブルを作成 しましょう。

次のステートメントは、従業員の緊急連絡先を格納する emergency_contacts という名前の新しいテーブルを作成します。

CREATE TABLE emergency_contacts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    relationship VARCHAR(50) NOT NULL,
    employee_id INT NOT NULL
);Code language: SQL (Structured Query Language) (sql)

次のステートメントは、emergency_contacts テーブルを削除します。

DROP TABLE emergency_contacts;Code language: SQL (Structured Query Language) (sql)

SQL DROP TABLE – 複数のテーブルの削除

DROP TABLE ステートメントを使用すると、複数のテーブルを同時に削除できます。これを行うには、DROP TABLE 句の後に、カンマ区切りのテーブルのリストを次のように指定する必要があります。

DROP TABLE table_name1,table_name2,...;Code language: SQL (Structured Query Language) (sql)

データベースシステムは、すべてのテーブルを1つずつ削除します。

まとめ

  • SQL DROP TABLE ステートメントを使用して、データベースから1つ以上のテーブルを削除します。
このチュートリアルは役に立ちましたか?