能否在 MySQL 中從另一張表向一張表中新增一列?
是的,我們可以從另一張表向一張表中新增一列。我們先建立兩個表。建立表的查詢如下−
<FirstTable>
mysql> create table FirstTable -> ( -> UserId int, -> UserName varchar(20) -> ); Query OK, 0 rows affected (1.48 sec)
現在建立第二張表。建立第二張表的查詢如下 −
<SecondTable>
mysql> create table SecondTable -> ( -> UserId int, -> UserAge int -> ); Query OK, 0 rows affected (1.57 sec)
現在,向第一張表新增 Age 列。首先,新增 Age 列,然後使用 UPDATE 命令將該 Age 列設定為 SecondTable 的 UserAge 列。查詢如下 −
mysql> ALTER TABLE FirstTable ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0; Query OK, 0 rows affected (1.53 sec) Records: 0 Duplicates: 0 Warnings: 0
現在,此處是查詢,用於將第一張表的 Age 列更新為 SecondTable 的 UserAge 列。查詢如下 −
mysql> UPDATE FirstTable tbl1 -> INNER JOIN SecondTable tbl2 ON tbl1.UserId = tbl2.UserId -> SET tbl1.Age = tbl2.UserAge; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0
現在使用 DESC 命令檢視第一張表的描述。查詢如下 −
mysql> desc FirstTable;
下面的輸出顯示我們已成功從另一張表新增一列 −
+----------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserName | varchar(20) | YES | | NULL | | | Age | tinyint(3) unsigned | YES | | 0 | | +----------+---------------------+------+-----+---------+-------+ 3 rows in set (0.53 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP