在 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_id
和 stu_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
的列,該列指示學生是否存在,其值為 0
和 1
。它也被稱為二進位制列,因為它只需要兩個值。
該查詢將新增一個新列,並且可以再次使用 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
函式。