SQL 重命名表格

SQL 重命名表格

SQL提供了两种方式来重命名MySQL表格。你可以使用SQL RENAME TABLE或 ALTER TABLE 语句来在MySQL RDBMS中改变表格名称。

SQL RENAME TABLE 语句

你可以使用SQL RENAME TABLE 语句来改变MySQL表格名称。

语法

以下是SQL RENAME TABLE语句的语法:

RENAME TABLE table_name TO new_table_name;

其中, table_name 是现有表的当前名称,而 new_table_name 是该表的新名称。

举例

让我们创建一个名为 CUSTOMERS 的表,其中包含客户的个人详细信息,包括姓名、年龄、地址和薪水等,如下所示 −

CREATE TABLE CUSTOMERS (
   ID INT NOT NULL,
   NAME VARCHAR (20) NOT NULL,
   AGE INT NOT NULL,
   ADDRESS CHAR (25),
   SALARY DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

现在,让我们使用INSERT语句将几条记录插入到这个表中,如下所示:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Khilan', 25, 'Delhi', 1500.00 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'kaushik', 23, 'Kota', 2000.00 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Chaitali', 25, 'Mumbai', 6500.00 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (5, 'Hardik', 27, 'Bhopal', 8500.00 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (6, 'Komal', 22, 'MP', 4500.00 );

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (7, 'Muffy', 24, 'Indore', 10000.00 );

表将创建如下 –

ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

以下SQL查询将 CUSTOMERS 表的名称更改为 BUYERS

RENAME TABLE CUSTOMERS to BUYERS;

验证

一旦您更改表的名称,您可以在您的 SQL 查询中开始使用新的表名。

SELECT * FROM BUYERS;

如果表名成功更改,则应列出在CUSTOMERS表中可用的所有记录。

SQL ALTER TABLE语句

ALTER TABLE语句可以用于更改或修改现有表的结构,即使用此语句可以添加/删除列,创建/销毁索引,更改现有列的数据类型,重命名列甚至重命名表。

语法

以下是SQL ALTER TABLE语句重命名现有表的语法-

ALTER TABLE table_name RENAME [TO|AS] new_table_name

示例

以下SQL ALTER TABLE 语句将会把表名称从 BUYERS 修改为 CUSTOMERS

ALTER TABLE BUYERS RENAME TO CUSTOMERS;

验证

一旦你将表的名称更改为CUSTOMERS,你可以在SQL查询中使用这个名称。

SELECT * FROM CUSTOMERS;

这将产生以下结果:

ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

在SQL Server中重命名表

在SQL Server中没有直接重命名表的查询语句。不过,它提供了一个名为 sp_rename 的存储过程,可以用来重命名表。

sp_rename 是SQL中的系统存储过程(一组在数据库中执行任务的预构建子程序),可用于重命名各种数据库对象,包括表、列、索引和约束。

语法

以下是在SQL Server中重命名表的基本语法:

EXEC sp_rename 'old_table_name', 'new_table_name'

在这里,您必须确保旧表名存在于数据库中,并且新表名不存在。否则,它会发出警告。第二个重要的要点是确保表没有被锁定,并且没有涉及该表的活动事务。

示例

假设我们已经在数据库中有一个名为CUSTOMERS的表。现在,我们将使用以下查询将此表从 CUSTOMERS 重命名为 WORKERS

EXEC sp_rename 'CUSTOMERS', 'WORKERS';

输出

得到的结果如下所示:

Completion time: 2023-08-15T19:21:49.1144163+05:30

验证

我们可以通过使用SELECT语句检索其内容来验证更改是否被反映如下:

SELECT * FROM WORKERS;

这将按照以下方式列出WORKERS表中所有的记录:

ID NAME AGE ADDRESS SALARY
1 Ramesh 32 Ahmedabad 2000.00
2 Khilan 25 Delhi 1500.00
3 kaushik 23 Kota 2000.00
4 Chaitali 25 Mumbai 6500.00
5 Hardik 27 Bhopal 8500.00
6 Komal 22 Hyderabad 4500.00
7 Muffy 24 Indore 10000.00

因为您已将表格重命名为WORKERS,所以如果您尝试使用旧表格名称获取详细信息,就会抛出错误,显示表格不存在。

重命名表格时需要遵循的规则

在SQL中重命名表格时,有一些规则和最佳实践需要遵循,以确保重命名过程顺利进行,不会引起任何意外后果或问题。

  • 避免重命名系统表 - 系统表是由数据库管理系统自身创建和使用的表格。重命名这些表格可能会导致数据库系统的功能出现问题,因此通常不建议重命名系统表。

  • 更新所有对表格的引用 - 在重命名表格后,任何引用该表格的存储过程、视图、触发器或其他数据库对象都需要更新,使用表格的新名称。如果不更新这些引用,可能会导致数据库系统出现错误或问题。

  • 全面测试 - 在生产环境中重命名表格之前,重要的是在开发或测试环境中全面测试重命名过程,以确保所有对表格的引用已正确更新,并且数据库系统继续正常运行。

  • 使用一致的命名规则 - 对于表格和其他数据库对象,使用一致的命名规则是一个好习惯,使得更容易理解和维护数据库系统。如果需要重命名表格,请考虑遵循数据库中使用的其他表格相同的命名规则。

  • 备份数据库 - 在重命名表格之前,建议创建数据库的备份,以确保您有一个还原点;以防在重命名过程中出现任何问题。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程