SQLでは、ほとんどのRDBMSで、ALTER TABLE
を使用してテーブルの名前を変更できます。 ステートメント。既存のテーブルの定義を変更するために使用されるステートメントです。
一部のRDBMには、RENAME
も含まれています テーブルの名前を変更するためのステートメント。
ただし、SQL Serverを使用する場合は、sp_rename
を使用する必要があります ストアドプロシージャ。
PostgreSQL、MySQL、MariaDB、SQLite、Oracle
ALTER TABLE
ステートメントは、主要なRDBMS全体でテーブルの名前を変更するために最も広くサポートされている方法です。このステートメントを使用するときは、RENAME
を使用してください テーブルの名前を変更する句。
例:
ALTER TABLE t1 RENAME TO t2;
これにより、テーブルの名前がt1
から変更されます。 t2
へ 。
これは、PostgreSQL、MySQL、MariaDB、SQLite、OracleなどのほとんどのRDBMで機能するはずです。
ただし、この方法はSQLServerでは機能しません。
SQL Server
SQL Serverでは、sp_rename
を使用する必要があります ストアドプロシージャ。
例:
EXEC sp_rename 't1', 't2';
最初のテーブルをスキーマ名で修飾することもできます。その場合、次のようになります。
EXEC sp_rename 'dbo.t1', 't2';
この例では、dbo
はスキーマ名ですが、該当するスキーマを使用する必要があります。
MySQLとMariaDB
ALTER TABLE
に加えて メソッド、MySQLおよびMariaDBにもRENAME TABLE
があります ステートメント。
例:
RENAME TABLE
t1 TO t2,
t3 TO t4,
t5 TO t6;
Oracle
ALTER TABLE
に加えて ステートメント、OracleにはRENAME
があります ステートメント。
例:
RENAME t1 TO t2;
シャーディングされたテーブルまたは複製されたテーブルの名前を変更することはできないことに注意してください。