如何使用SQL查询更改表名?

115 sql sql-server sql-server-2005

如何使用查询语句更改表名?

我使用了以下语法,但在SQL Server 2005中找不到rename关键字.

Alter table Stu_Table rename to Stu_Table_10
Run Code Online (Sandbox Code Playgroud)

Dav*_*d M 215

使用sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'
Run Code Online (Sandbox Code Playgroud)

您可以在MSDN上找到有关此过程的文档.

如果需要包含模式名称,则只能包含在第一个参数中(也就是说,这不能用于将表从一个模式移动到另一个模式).所以,例如,这是有效的:

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'
Run Code Online (Sandbox Code Playgroud)

  • 请记住,对于sp_rename,它只是第一个可以采用Schema名称的参数,第二个参数必须没有Schema名称.与EXEC中的sp_rename'dbo.Stu_Table','Stu_Table_10'一样 (7认同)

dja*_*iro 64

MySQL: -

RENAME TABLE `Stu Table` TO `Stu Table_10`
Run Code Online (Sandbox Code Playgroud)

  • 我赞成,因为这个问题在谷歌也被引用为mysql. (11认同)
  • 问题是关于SQL Server,你的答案是MySQL. (8认同)
  • 与MySQL合作很好. (7认同)
  • 用Mysql为我工作 (4认同)
  • 对于mysql的回答+1,谷歌也把我带到了这里.请记住,即使OP勾选了对他们有用的答案,其他人也可能会找到有用的替代答案,例如我自己. (2认同)

小智 15

请在SQL Server 2005上使用它:

sp_rename old_table_name , new_table_name
Run Code Online (Sandbox Code Playgroud)

它会给你:

警告:更改对象名称的任何部分可能会破坏脚本和存储过程.

但您的表名将被更改.


小智 13

在Postgress SQL中:

Alter table student rename to student_details;
Run Code Online (Sandbox Code Playgroud)


Dev*_*aul 6

在MySQL中:

RENAME TABLE template_functionTO business_function;