重命名 MySQL 数据库中的列
Preet Sanghavi
2023年1月30日
2022年5月14日
在本教程中,我们旨在探索在 MySQL 中重命名列的不同方法。
ALTER TABLE
命令主要用于更改给定 MySQL 表的格式。它可用于添加列、更改列内的数据类型、删除列,有时甚至重命名整个数据库。
使用 ALTER TABLE
命令更改列名称有两种主要方法。
- 带有
ALTER TABLE
命令的RENAME
语句 - 带有
ALTER TABLE
命令的CHANGE
语句
然而,在我们开始之前,我们需要创建一个虚拟数据集来使用。在这里,我们创建了一个表,student_details
,以及其中的几行。
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
上面的查询创建了一个表以及其中包含学生名字和姓氏的行。要查看数据中的条目,我们使用以下代码。
SELECT * FROM student_details;
上面的代码行将给出以下输出。
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
让我们的目标是将 stu_firstName
列重命名为简单的 firstName
。
使用 RENAME
语句重命名列
在 MySQL 中更改列名称的最基本方法之一是使用 RENAME COLUMN
子句。执行上述操作的语法可以表述如下:
ALTER TABLE table_name RENAME COLUMN old_name TO new_name;
此处,old_name
表示要更改的列名,而 new_name
表示该列的新名称。
注意
我们不能使用表中已存在的名称重命名列。
要更改 stu_firstName
列,我们将使用以下代码:
ALTER TABLE student_details RENAME COLUMN stu_firstName TO firstName;
上面的代码行将给出以下输出:
stu_id firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
使用 CHANGE
语句重命名列
更改列名称的一种更复杂的方法是使用 CHANGE
子句。该子句还有助于调整列的数据类型以及列名。执行此操作的语法如下:
ALTER TABLE table_name CHANGE old_name new_name Data Type;
要将 stu_firstName
列及其数据类型更改为 VARCHAR(40)
,我们将使用以下代码:
ALTER TABLE student_details CHANGE stu_firstName firstName VARCHAR(40);
-- Here VARCHAR(40) is the new data type
上面的代码片段将使用上面提到的新数据类型提供以下输出。
stu_id firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
因此,借助上述两种技术,我们可以有效地更改 MySQL 中表的任何列的名称。我们可以得出结论,理解 ALTER TABLE
命令是探索复杂语句的先决条件。
Author: Preet Sanghavi