- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 数据库备份
- SQL 表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 截断表
- SQL - 克隆表
- SQL - 临时表
- SQL - 修改表
- SQL - 删除表
- SQL - 删除表
- SQL - 约束
- SQL 查询
- SQL - INSERT 查询
- SQL - SELECT 查询
- SQL - SELECT INTO
- SQL - INSERT INTO SELECT
- SQL - UPDATE 查询
- SQL - DELETE 查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - WHERE 子句
- SQL - TOP 子句
- SQL - DISTINCT 子句
- SQL - ORDER BY 子句
- SQL - GROUP BY 子句
- SQL - HAVING 子句
- SQL - AND & OR
- SQL - 布尔 (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - DELETE 连接
- SQL - UPDATE 连接
- SQL - 左连接 vs 右连接
- SQL - UNION vs 连接
- SQL 密钥
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 组合键
- SQL - 备选键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 聚簇索引
- SQL - 非聚簇索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - MIN & MAX
- SQL - NULL 函数
- SQL - CHECK 约束
- SQL - DEFAULT 约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 公共表表达式
- SQL - GROUP BY vs ORDER BY
- SQL - IN vs EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- 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** 是表的新名称。
示例:SQL RENAME TABLE 语句
让我们创建一个表,名称为 **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 VALUES (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 );
表将如下创建:
ID | 姓名 | 年龄 | 地址 | 工资 |
---|---|---|---|---|
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 语句
以下 SQL **ALTER TABLE** 语句会将表名从 **BUYERS** 更改为 **CUSTOMERS**。
ALTER TABLE BUYERS RENAME TO CUSTOMERS;
验证
将表名更改为 CUSTOMERS 后,您可以在 SQL 查询中使用此名称。
SELECT * FROM CUSTOMERS;
这将产生以下结果
ID | 姓名 | 年龄 | 地址 | 工资 |
---|---|---|---|---|
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'
这里,您必须确保数据库中存在旧表名,并且新表名不存在。否则,它将发出警告。第二个要点是确保表未被锁定,并且没有涉及此表的活动事务。
示例:在 SQL Server 中重命名表
假设我们的数据库中已经存在 CUSTOMERS 表。现在,我们将使用以下查询将此表从 **CUSTOMERS** 重命名为 **WORKERS**:
EXEC sp_rename 'CUSTOMERS', 'WORKERS';
输出
获得的结果如下所示:
Completion time: 2023-08-15T19:21:49.1144163+05:30
验证
我们可以通过使用 SELECT 语句检索其内容来验证更改是否已反映,如下所示:
SELECT * FROM WORKERS;
这将列出 WORKERS 表中所有可用的记录,如下所示:
ID | 姓名 | 年龄 | 地址 | 工资 |
---|---|---|---|---|
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 中重命名表时,应遵循一些规则和最佳实践,以确保重命名过程顺利进行,并且不会导致任何意外的后果或问题。
**避免重命名系统表** - 系统表是由数据库管理系统本身创建和使用的表。重命名这些表可能会导致数据库系统功能出现问题,因此通常不建议重命名系统表。
**更新对表的全部引用** - 重命名表后,任何引用该表的存储过程、视图、触发器或其他数据库对象都需要更新为使用表的新名称。未能更新这些引用可能会导致错误或数据库系统功能出现问题。
**彻底测试** - 在生产环境中重命名表之前,务必在开发或测试环境中彻底测试重命名过程,以确保已正确更新对表的全部引用,并且数据库系统继续按预期运行。
**使用一致的命名约定** - 对于表和其他数据库对象,最好使用一致的命名约定,以便更容易理解和维护数据库系统。如果您需要重命名表,请考虑遵循您在数据库中其他表中使用的相同命名约定。
**备份数据库** - 在重命名表之前,建议创建数据库备份,以确保您有一个还原点;如果重命名过程中出现任何问题。