重新命名 MySQL 資料庫中的列
Preet Sanghavi
2023年1月30日
2022年5月14日
在本教程中,我們旨在探索在 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
命令是探索複雜語句的先決條件。
Author: Preet Sanghavi