我们可以从 MySQL 中的另一个表向一个表添加一列吗?

2023年 9月 13日 33.3k 0

我们可以从 MySQL 中的另一个表向一个表添加一列吗?

是的,我们可以从另一个表向一个表添加一列。让我们首先创建两个表。创建表的查询如下 -

mysql> create table FirstTable
-> (
-> UserId int,
-> UserName varchar(20)
-> );
Query OK, 0 rows affected (1.48 sec)

登录后复制

现在创建第二个表。创建第二个表的查询如下 -

mysql> create table SecondTable
-> (
-> UserId int,
-> UserAge int
-> );
Query OK, 0 rows affected (1.57 sec)

登录后复制

现在,将年龄列添加到第一个表中。首先,添加 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 中的另一个表向一个表添加一列吗?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论