在 MySQL 中新增列

Preet Sanghavi 2022年5月13日
在 MySQL 中新增列

在本教程中,我們旨在探索在 MySQL 中的表中新增列的概念。

很多時候,企業和組織需要在 MySQL 中的特定列之前或之後新增特定列。確保資料的一致性和完整性變得至關重要。

它在使用 MySQL 的分析師的公共和私人或個人需求中也有廣泛的用途。

例如,如果一家基於產品的公司需要在列名到期日期之後新增一個名為的列,他們需要使用一種方法來幫助他們完成這項工作。

資料分析師可以使用 ALTER TABLE 命令併為正在考慮的欄位應用 AFTER 子句來完成此操作。

在 MySQL 中使用 ALTER TABLE 語句的表中新增列

讓我們瞭解此方法的工作原理並在 MySQL 資料庫中完成此操作。

但是,在開始之前,我們建立一個虛擬資料集來使用。在這裡,我們建立了一個表 student_details_table 以及幾行。

-- create the table student_details_table
CREATE TABLE student_details_table(
  stu_id int,
  stu_firstName varchar(255),
  stu_lastName varchar(255) DEFAULT NULL,
  primary key(stu_id, stu_firstName)
);
-- insert rows to the table student_details_table
INSERT INTO student_details_table(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");

如我們所見,我們已將 stu_idstu_firstName 設定為我們的表 student_details_table 的主鍵。它將確保此列中的值不能重複或 NULL

還應注意,主鍵不能在其列中擁有 Null 值。如果我們在此列中推送或插入 Null 值,我們肯定會收到錯誤。

有時,組織有必要擺脫這個鍵來插入多個相似的值或 null 值。

上面的查詢建立了一個表,其中包含學生的名字和姓氏。要檢視資料中的條目,我們使用以下程式碼。

SELECT * FROM student_details_table;

該查詢將給出以下輸出。

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

現在讓我們使用 DESCRIBE 語句更深入地瞭解我們的表。可以使用以下查詢執行此操作。

DESCRIBE name_of_the_table;

在我們的例子中,我們需要編寫以下查詢來了解表 student_details_table 的詳細資訊。

DESCRIBE student_details_table;

該語句將幫助我們獲取表的複雜詳細資訊,例如與每列關聯的資料型別、不同列及其名稱、與每列關聯的鍵以及與表相關的任何額外資訊。

該查詢將為我們提供以下輸出。

Field				Type			Null	Key		Default		Extra
stu_id				int				NO		PRI
stu_firstName		varchar(255)	NO		PRI
stu_lastName		varchar(255)	YES

現在,讓我們新增一列 status,指示學生的出勤狀態,0 表示缺席,1 表示出席。

我們使用 ALTER TABLE 語句來完成這項工作。該語句可以幫助在 MySQL 中的特定表中建立衝突、新增、刪除和更新。

我們可以使用以下查詢在 MySQL 中的 stu_id 列之後新增一列 status

ALTER TABLE `student_details_table`
ADD COLUMN `status` int(10) unsigned NOT NULL
AFTER `stu_id`;

如表和查詢所示,我們將新增一個名為 status 的列,該列指示學生是否存在,其值為 01。它也被稱為二進位制列,因為它只需要兩個值。

該查詢將新增一個新列,並且可以再次使用 DESCRIBE 語句進行驗證。該語句可以說明如下。

DESCRIBE student_details_table;

該查詢將幫助我們獲取以下輸出。

Field				Type			Null	Key		Default		Extra
stu_id				int				NO		PRI
status              int unsigned    NO
stu_firstName		varchar(255)	NO		PRI
stu_lastName		varchar(255)	YES

如表中所示,我們在 student_details_table 中的 stu_id 列之後放置了一個名為 status 的新列。我們還可以用額外的列資訊視覺化資料型別、NULL 值可能性和鍵。

因此,藉助 ALTER TABLE 命令和 DESCRIBE 語句,我們可以有效地在 MySQL 表的特定部分新增列。

下面是一些有助於更好地學習該概念的其他相關主題。

  • MySQL 中的 ALTER TABLE 語句。
  • MySQL 中的 DESCRIBE 函式。
作者: 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 Column