如何在 MySQL 中使用 alter 新增列?\n


以下是在 MySQL 中使用 alter 新增列的語法

alter table yourTableName add column yourColumnName yourDataType default yourValue;

首先,讓我們建立一個表

mysql> create table alterTableDemo
   -> (
   -> Id int,
   -> Name varchar(10)
   -> );
Query OK, 0 rows affected (0.69 sec)

讓我們使用 DESC 命令檢查表的描述。這將顯示錶的欄位、型別、鍵等

mysql> desc alterTableDemo;

這將生成以下輸出

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Id    | int(11)     | YES  |     | NULL    |       |
| Name  | varchar(10) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.01 sec)

現在,新增列 Age,預設值為 18。如果使用者不提供 Age 列的值,則 MySQL 將使用 Age 列的預設值。以下是使用 alter 命令新增列的查詢

mysql> alter table alterTableDemo add column Age int default 18;
Query OK, 0 rows affected (0.67 sec)
Records: 0 Duplicates: 0 Warnings: 0

讓我們再次檢查表描述

mysql> desc alterTableDemo;

這將生成以下輸出

+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| Id    | int(11)     | YES  |     | NULL    |       |
| Name  | varchar(10) | YES  |     | NULL    |       |
| Age   | int(11)     | YES  |     | 18      |       |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

讓我們使用 insert 命令向表中插入記錄

以下是查詢

mysql> insert into alterTableDemo(Id,Name,Age) values(100,'Chris',24);
Query OK, 1 row affected (0.16 sec)

mysql> insert into alterTableDemo(Id,Name) values(101,'Robert');
Query OK, 1 row affected (0.25 sec)

以下是使用 select 語句顯示錶中所有記錄的查詢

mysql> select *from alterTableDemo;

以下是輸出。由於我們沒有為“Robert”設定年齡,因此 Age 的預設值為 18

+------+--------+------+
| Id   | Name   | Age  |
+------+--------+------+
| 100  | Chris  | 24   |
| 101  | Robert | 18   |
+------+--------+------+
2 rows in set (0.00 sec)

更新於: 2019-07-30

158 次瀏覽

啟動您的 職業生涯

完成課程後獲得認證

開始
廣告