是的,我们可以从另一个表向表中添加一列。让我们首先创建两个表。创建表的查询如下-
<FirstTable>
mysql> create table FirstTable -> ( -> UserId int, -> UserName varchar(20) -> );
现在创建第二个表。创建第二张表的查询如下-
<第二表>
mysql> create table SecondTable -> ( -> UserId int, -> UserAge int -> );
现在,将“年龄”列添加到第一个表中。首先,添加Age列,然后使用UPDATE命令将此Age列设置为SecondTable的UserAge列。查询如下-
mysql> ALTER TABLE FirstTable ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0; 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; 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)