重命名 MySQL 数据库中的列

Preet Sanghavi 2023年1月30日 MySQL MySQL Query
  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 命令是探索复杂语句的先决条件。

Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Preet Sanghavi
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