我们可以在 MySQL 中将另一个表中的列添加到一个表中吗?
mysqli mysqldatabase更新于 2024/12/28 20:28:17
是的,我们可以将另一个表中的列添加到一个表中。让我们首先创建两个表。创建表的查询如下 −
<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)
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

