暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在SQL Server中重命名表

原创 eternity 2022-08-23
2066

重命名数据库中的表是DBA最常见的任务之一。在本文中,您将看到如何在SQL Server中重命名表。

根据用于管理SQL Server的客户端应用程序,有多种方法可以重命名SQL Server中的表。其中一些方法涉及文本查询,而其他方法允许您通过GUI在SQL Server中重命名表。

在本文中,您将看到在SQL Server中重命名表的五种主要方法:

1.SQLCMD实用程序

2.SQL Server Management Studio查询窗口

3.SQL Server管理Studio GUI

4.用于SQL Server的dBForge Studio中的SQL查询窗口

5.用于SQL Server的dBForge Studio中的GUI

例如,您将重命名SALES数据库中虚构的“Item”表。以下脚本可用于创建这样的表。

CREATE DATABASE SALES
USE SALES
CREATE TABLE Item (
Id INT,
Name varchar(255),
    Price FLOAT
);

使用SQLCMD实用程序重命名表

SQLCMD是一个命令行工具,可用于在SQL Server上执行各种操作。SQLCMD实用程序还可以用于在SQL中重命名表。

要在windows中打开该实用程序,请打开“运行”shell,然后输入命令sqlcmd-S server_name-E。此处,“E”指定启用windows身份验证以访问SQL server。如果未启用Windows身份验证,则必须将-E替换为-U your_user-P your_ password命令。

微信图片_20220822120546.png

SQLCMD实用程序将打开,您可以在其中执行SQL命令以在SQL Server实例上执行不同的操作。

微信图片_20220822120732.png

在从SALES表重命名Item表之前,首先打印表名。您可以这样做:

SELECT name FROM SALES.sys.tables

在输出中,您将看到SALES数据库中所有表的名称,如以下输出所示:

微信图片_20220822120834.png

没有可用于在SQL Server中重命名表的直接SQL查询。您需要执行sp_rename存储过程来重命名SQL Server中的表。

通过sp_rename存储过程在SQL Server中重命名表的语法如下:

EXEC sp_rename 'old_table_name', 'new_table_name'   

例如,您将把“Item”表重命名为“Product”。以下是您如何通过SQLCMD实用程序完成此操作:

微信图片_20220822121040.png

从上述命令的输出中,您可以看到一条警告,指出更改对象名称的任何部分都有可能破坏脚本和存储过程。

此警告很重要,因为如果您有一个使用名称“Item”与“Item表”交互的脚本,则该脚本将不再执行,因为表名已更改。

最后,要查看表是否已实际重命名,可以再次执行以下脚本:

SELECT name FROM SALES.sys.tables

微信图片_20220822121125.png

如上所述,表“Item”已重命名为Product。

需要注意的是,如果原始表名中包含点[.],则无法直接重命名。

例如,如果您的SALES表有一个表“Product”。要重命名为“项目”的“项目”,以下脚本将引发错误:

USE SALES
EXEC sp_rename 'Product.Items', 'Items' 

微信图片_20220822121205.png

错误表明没有名为“产品”的项目。在当前数据库中找不到项。

要重命名名称中包含点的表,必须将表名括在方括号内,如以下脚本所示:

USE SALES
EXEC sp_rename '[Product.Items]', 'Items'  

从下面的输出中,您可以看到没有错误或警告,这意味着该表已成功重命名。

微信图片_20220822121335.png

使用SQL Server Management Studio重命名表

SQL Server Management Studio是Microsoft开发的基于GUI的工具,允许您与SQL Server实例交互。SQL Server Management Studio还可以用于重命名SQL Server中的表。

通过SQL Server Management Studio重命名SQL Server表有两种主要方法。您可以使用SQL Server查询窗口,也可以通过鼠标右键单击GUI直接重命名表。您将在以下部分中看到这两种方法:

使用SQL查询窗口重命名表

要通过SQL Server Management Studio中的SQL查询窗口重命名表,请从SQL Server Management Studio的主仪表板中单击“新建查询”选项,如以下屏幕截图所示。

您还可以在下面的屏幕截图中看到“销售”数据库中的“项目”表。这是您将要重命名的表。

微信图片_20220822121434.png

通过SQL查询窗口重命名表的脚本与在SQLCMD中执行的查询相同。您必须执行sp_rename存储过程,如以下脚本所示。

USE SALES
EXEC sp_rename 'Item', 'Product' 

在输出消息窗口中,如以下屏幕截图所示,您可以再次看到警告您更改对象名称可能会破坏脚本的消息。

微信图片_20220822121628.png

您可以使用下面的命令查看表是否已重命名。

或者,您可以右键单击数据库,即SALES->Tables,然后从选项列表中单击“刷新”按钮。您将看到重命名的表。

SELECT name FROM SALES.sys.tables 

微信图片_20220822121709.png

值得一提的是,正如您在SQLCMD实用程序中看到的,重命名名称包含点运算符的表需要将表名括在方括号内。

例如,如果您想重命名“产品”。“项目”表到“项目”,以下查询将通过一个错误:

USE SALES
EXEC sp_rename 'Product.Items', 'Items'

微信图片_20220822121751.png

另一方面,将表名括在方括号内将导致成功重命名表,如下面脚本的输出所示:

微信图片_20220822121837.png

使用SSMS GUI重命名表

SQL Server Management Studio提供了许多一键式选项来执行不同的任务。您可以通过SQL Server Management Studio GUI重命名表。

为此,右键单击要重命名的表。从出现的选项列表中选择重命名,如以下屏幕截图所示。

微信图片_20220822121913.png

您将看到,要重命名的表将启用文本编辑选项,如下面的屏幕截图所示。

在此处输入表的新名称,然后单击enter。

微信图片_20220822121951.png

使用dBForge Studio for SQL Server重命名表

dBForge Studio for SQL Server是一个灵活的IDE,允许您使用易于使用的GUI在SQL Server上执行一系列数据库管理、管理和操作任务。

dBForge Studio for SQL Server还允许您重命名SQL Server中的表。

与SQLServerManagementStudio一样,您有两个重命名表的选项。您可以使用“查询”窗口执行SQL脚本来重命名表,也可以通过右键单击表名然后重命名来直接重命名表。您将在本节中看到这两个选项。

将dBForge Studio与SQL Server连接

在通过dBForge Studio在SQL Server上执行任何操作之前,首先必须将dBForge工作室与SQL Server实例连接起来。

为此,请单击dBForge Studio主仪表板上的“新建连接”按钮。

微信图片_20220822122048.png

您将看到数据库连接属性窗口,如下所示。在此处,输入要连接到的SQL Server实例的名称以及身份验证模式。如果需要,请输入用户和密码,然后单击“测试连接”按钮。

如果连接成功,您将看到以下消息:

微信图片_20220822122121.png

在dBForge Studio中使用SQL查询窗口重命名表

要使用dbForge Studio for SQL Server中的SQL查询窗口重命名表,请单击顶部菜单中的“新建SQL”选项。将打开一个空的查询窗口,您可以在其中执行SQL查询。查看以下屏幕截图以供参考:

微信图片_20220822122206.png

重命名表的查询与前几节中的查询相同。

使用sp_rename存储过程。

以下脚本将销售数据库中的“项目”表重命名为“产品”。

USE SALES
EXEC sp_rename 'Item', 'Product'  

微信图片_20220822122252.png

下面的输出显示查询成功。

微信图片_20220822122328.png

要查看项目表是否已实际重命名,请运行以下脚本:

SELECT name FROM SALES.sys.tables

在输出中,销售数据库现在包含“产品”表,而不是“项目”表。
微信图片_20220822122419.png

正如您在SQLCMD和SQLServerManagementStudio中看到的,如果必须重命名的表包含点(.)符号,则必须在SQL脚本中将表名括在方括号内。

在dBForge Studio中使用GUI重命名表

要通过dBForge studio中的GUI界面重命名表,只需右键单击要重命名的表。从选项列表中,选择重命名,如下面的屏幕截图所示:

微信图片_20220822122459.png

输入表的新名称。在下面的屏幕截图中,我们将Item表重命名为Product。单击Enter键。

微信图片_20220822122536.png

最后,单击下面消息框中的“是”按钮以重命名表。

微信图片_20220822122609.png

原文标题:Renaming Tables in SQL Server
原文作者:Ben Richardson
原文链接:https://dzone.com/articles/renaming-tables-in-sql-server

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论