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

Posted

技术标签:

【中文标题】如何使用 SQL 查询更改表名?【英文标题】:How to change a table name using an SQL query? 【发布时间】:2009-05-20 08:19:58 【问题描述】:

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

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

Alter table Stu_Table rename to Stu_Table_10

【问题讨论】:

ALTER TABLE TABLE_NAME 重命名为 NEW_TABLE_NAME 仅适用于 Oracle DB。 【参考方案1】:

使用 sp_rename:

EXEC sp_rename 'Stu_Table', 'Stu_Table_10'

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

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

EXEC sp_rename 'myschema.Stu_Table', 'Stu_Table_10'

【讨论】:

请记住,对于 sp_rename,它只是第一个参数可以采用 Schema 名称,第二个参数必须没有 Schema 名称。如 EXEC sp_rename 'dbo.Stu_Table', 'Stu_Table_10' Henrik 的评论非常重要,这可能是答案的一部分?让我免于头痛。【参考方案2】:

mysql:-

RENAME TABLE `Stu Table` TO `Stu Table_10`

【讨论】:

问题是关于 SQL Server,你的答案是 MySQL。 我投了赞成票,因为这个问题在 google 中也被 mysql 引用。 用 Mysql 为我工作 +1 用于 mysql 答案,因为 Google 也将我带到了这里。请记住,即使 OP 勾选了对他们有用的答案,其他人也可能会发现其他有用的答案,例如我自己。【参考方案3】:

在 Postgress SQL 中:

Alter table student rename to student_details;

【讨论】:

【参考方案4】:

请在 SQL Server 2005 上使用它:

sp_rename old_table_name , new_table_name

它会给你:

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

但是你的表名会改变。

【讨论】:

【参考方案5】:

在 MySQL 中:

重命名表 template_functionbusiness_function;

【讨论】:

【参考方案6】:

ALTER TABLE table_name 重命名为 new_table_name; 也适用于 MySQL。

或者: 将表 table_name 重命名为 new_table_name

【讨论】:

【参考方案7】:

最新 MySQL 版本的语法已更改。

所以尝试重命名命令在表名中不带单引号

RENAME TABLE old_name_of_table TO new_name_of_table;

【讨论】:

【参考方案8】:
RENAME TABLE old_table_name TO new_table_name;

【讨论】:

【参考方案9】:

执行这个命令

sp_rename 'Employee','EData'

【讨论】:

【参考方案10】:

重命名表名:

RENAME TABLE old_tableName TO new_tableName;

例如:

RENAME TABLE company_name TO company_master;

【讨论】:

您能否指出描述此内容的 SQL Server 2005 文档?

以上是关于如何使用 SQL 查询更改表名?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 SQL 查询中获取表名?

如何在 Access SQL 的列别名中使用表名?

如何从sql查询中提取表名和列名?

SQL如何显示查询结果的前100条?

如何查询一个ACCESS数据库中的表名和字段?

不能在 sql 查询 APEX ORACLE 中使用绑定变量作为表名