重命名 MySQL 数据库中的列

在本教程中,我们旨在探索在 MySQL 中重命名列的不同方法。

ALTER TABLE 命令主要用于更改给定 MySQL 表的格式。它可用于添加列、更改列内的数据类型、删除列,有时甚至重命名整个数据库。

使用 ALTER TABLE 命令更改列名称有两种主要方法。

  • 带有 ALTER TABLE 命令的 RENAME 语句
  • 带有 ALTER TABLE 命令的 CHANGE 语句

然而,在我们开始之前,我们需要创建一个虚拟数据集来使用。在这里,我们创建了一个表,student_details,以及其中的几行。

-- create the table student_details
CREATETABLEstudent_details(stu_idint,stu_firstNamevarchar(255)DEFAULTNULL,stu_lastNamevarchar(255)DEFAULTNULL,primarykey(stu_id));-- insert rows to the table student_details
INSERTINTOstudent_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*FROMstudent_details;

上面的代码行将给出以下输出。

stu_idstu_firstNamestu_lastName1PreetSanghavi2RichJohn3VeronBrow4GeoJos5HashShah6SachinParker7DavidMiller

让我们的目标是将 stu_firstName 列重命名为简单的 firstName

使用 RENAME 语句重命名列

在 MySQL 中更改列名称的最基本方法之一是使用 RENAME COLUMN 子句。执行上述操作的语法可以表述如下:

ALTERTABLEtable_nameRENAMECOLUMNold_nameTOnew_name;

此处,old_name 表示要更改的列名,而 new_name 表示该列的新名称。

注意
我们不能使用表中已存在的名称重命名列。

要更改 stu_firstName 列,我们将使用以下代码:

ALTERTABLEstudent_detailsRENAMECOLUMNstu_firstNameTOfirstName;

上面的代码行将给出以下输出:

stu_idfirstNamestu_lastName1PreetSanghavi2RichJohn3VeronBrow4GeoJos5HashShah6SachinParker7DavidMiller

使用 CHANGE 语句重命名列

更改列名称的一种更复杂的方法是使用 CHANGE 子句。该子句还有助于调整列的数据类型以及列名。执行此操作的语法如下:

ALTERTABLEtable_nameCHANGEold_namenew_nameDataType;

要将 stu_firstName 列及其数据类型更改为 VARCHAR(40),我们将使用以下代码:

ALTERTABLEstudent_detailsCHANGEstu_firstNamefirstNameVARCHAR(40);-- Here VARCHAR(40) is the new data type

上面的代码片段将使用上面提到的新数据类型提供以下输出。

stu_idfirstNamestu_lastName1PreetSanghavi2RichJohn3VeronBrow4GeoJos5HashShah6SachinParker7DavidMiller

因此,借助上述两种技术,我们可以有效地更改 MySQL 中表的任何列的名称。我们可以得出结论,理解 ALTER TABLE 命令是探索复杂语句的先决条件。