如何在 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)
廣告