SQLクエリを使用してテーブル名を変更するにはどうすればよいですか?


117

クエリステートメントを使用してテーブル名を変更するにはどうすればよいですか?

次の構文を使用しましたが、SQL Server 2005でrenameキーワードが見つかりませんでした。

Alter table Stu_Table rename to Stu_Table_10

ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAMEはOracle DBでのみ機能します。
renu 2013

回答:


221

sp_renameを使用します。

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

この手順に関するドキュメントはMSDNにあります。

スキーマ名を含める必要がある場合、これは最初のパラメーターにのみ含めることができます(つまり、これを使用して、あるスキーマから別のスキーマにテーブルを移動することはできません)。したがって、たとえば、これは有効です。

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

9
sp_renameの場合、スキーマ名を取得できるのは最初のパラメーターのみであり、2番目の引数にはスキーマ名を含めないでください。EXEC sp_rename 'dbo.Stu_Table'、 'Stu_Table_10'と同様
Henrik

1
ヘンリックのコメントはかなり重要です。これはおそらく答えの一部でしょうか?頭痛から私を救った。
CincinnatiProgrammer

65

MySQL:-

RENAME TABLE `Stu Table` TO `Stu Table_10`

8
質問はSQL Serverに関するもので、答えはMySQLに対するものです。
サム

7
MySQLでうまく機能しました。

11
この質問はmysqlのgoogleでも参照されているため、賛成しました。
Paul Fournel 2014年

4
Mysqlで私のために働いた
Ranganatha GV

2
グーグルが私もここに連れて来たので、mysqlの回答の+1。OPが彼らのために働いた答えを刻むことさえ覚えておいてください、他の人は私のような代替の答えが役に立つと思うかもしれません。
アモネット

15

これをSQL Server 2005で使用してください:

sp_rename old_table_name , new_table_name

それはあなたに与えるでしょう:

注意:オブジェクト名の一部を変更すると、スクリプトとストアドプロシージャが破損する可能性があります。

ただし、テーブル名は変更されます。





1

最新のMySQLバージョンのSyntexが変更されました。

したがって、テーブル名にSINGLE QUOTESを含まない RENAMEコマンド試してください。

RENAME TABLE old_name_of_table TO new_name_of_table;




-2

テーブル名を変更:

RENAME TABLE old_tableName TO new_tableName;

例えば:

RENAME TABLE company_name TO company_master;

これが説明されているSQL Server 2005のドキュメントを参照してください。
Fabian Fagerholm 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.