Как изменить имя таблицы с помощью SQL-запроса?


117

Как я могу изменить имя таблицы с помощью запроса?

Я использовал следующий синтаксис, но мне не удалось найти ключевое слово rename в SQL Server 2005.

Alter table Stu_Table rename to Stu_Table_10

ALTER TABLE TABLE_NAME RENAME TO NEW_TABLE_NAME Работает только в Oracle DB.
Renu

Ответы:


221

Используйте sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

Вы можете найти документацию по этой процедуре на MSDN .

Если вам нужно включить имя схемы, его можно включить только в первый параметр (т. Е. Его нельзя использовать для перемещения таблицы из одной схемы в другую). Так, например, это действительно так:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

9
Помните, что для sp_rename только первый параметр может принимать имя схемы, второй аргумент ДОЛЖЕН быть без имени схемы. Как и в EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10'
Хенрик Стаун Поульсен,

1
Комментарий Хенрика очень важен, вероятно, это должно быть частью ответа? Избавил меня от головной боли.
CincinnatiProgrammer

65

В MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`

8
Вопрос о SQL Server, ваш ответ - о MySQL.
Сэм

7
Отлично работал с MySQL.

11
Я проголосовал за, потому что этот вопрос также упоминается в Google для mysql.
Пол Фурнель

4
Работал для меня с Mysql
Ranganatha GV

2
+1 за ответ mysql, так как Google тоже привел меня сюда. Помните, что даже если OP отмечает ответ, который сработал для них, другие могут найти полезные альтернативные ответы, например, я.
amonett

15

Пожалуйста, используйте это на SQL Server 2005:

sp_rename old_table_name , new_table_name

это даст вам:

Внимание: изменение любой части имени объекта может нарушить работу скриптов и хранимых процедур.

но имя вашей таблицы будет изменено.





1

Изменен Syntex для последних версий MySQL.

Поэтому попробуйте команду ПЕРЕИМЕНОВАТЬ без ОДИНАКОВЫХ ЦИТАТ в именах таблиц.

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.