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