重命名 MySQL 数据库中的列

Preet Sanghavi 2023年1月30日 2022年5月14日
  1. 使用 RENAME 语句重命名列
  2. 使用 CHANGE 语句重命名列
重命名 MySQL 数据库中的列

在本教程中,我们旨在探索在 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 命令是探索复杂语句的先决条件。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相关文章 - MySQL Query