根据另一个 MySQL 表的列更新一个列

mysqlmysqli database更新于 2024/3/14 23:24:00

为此,您可以使用连接概念。让我们首先创建一个表 −

mysql> create table DemoTable1
   -> (
   -> Id int,
   -> Name varchar(10)
   -> );
Query OK, 0 rows affected (0.51 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable1 values(100,'Bob');
Query OK, 1 row affected (0.14 sec)

使用 select 语句显示表中的所有记录 −

mysql> select * from DemoTable1;

这将产生以下输出 −

+------+------+
|   Id | Name |
+------+------+
|  100 | Bob  |
+------+------+
1 row in set (0.00 sec)

这是创建第二个表的查询 −

mysql> create table DemoTable2
   -> (
   -> Id int,
   -> FirstName varchar(10)
   -> );
Query OK, 0 rows affected (0.49 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable2 values(100,'Adam');
Query OK, 1 row affected (0.12 sec)

使用 select 语句显示表中的所有记录 −

mysql> select * from DemoTable2;

这将产生以下输出 −

+------+-----------+
| Id   | FirstName |
+------+-----------+
| 100  | Adam      |
+------+-----------+
1 row in set (0.00 sec)

以下是基于另一个 MySQL 表的列 − 更新列的查询

mysql> update DemoTable1
   -> join DemoTable2 on DemoTable1.Id=DemoTable2.Id
   -> set DemoTable1.Name=DemoTable2.FirstName;
Query OK, 1 row affected (0.15 sec)
Rows matched: 1 Changed: 1 Warnings: 0

让我们检查第一个表的记录,其中包含更新的值 −

mysql> select * from DemoTable1;

这将产生以下输出 −

+------+------+
| Id   | Name |
+------+------+
| 100  | Adam |
+------+------+
1 row in set (0.00 sec)

相关文章