重新命名 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