MySQL使用LEFT JOIN更新多个表

MySQL使用LEFT JOIN更新多个表

在MySQL中,可以使用LEFT JOIN语句来更新多个表。下面我们将详细介绍如何使用LEFT JOIN进行多表更新。

我们先创建两个表Person和Contact,Person表存储人员信息,Contact表存储人员的联系方式。

CREATE TABLE Person(
  id INT PRIMARY KEY,
  name VARCHAR(20),
  age INT
);

CREATE TABLE Contact(
  person_id INT,
  email VARCHAR(50),
  phone VARCHAR(20)
);

接下来插入一些示例数据。

INSERT INTO Person(id, name, age) VALUES(1, '张三', 20);
INSERT INTO Person(id, name, age) VALUES(2, '李四', 30);

INSERT INTO Contact(person_id, email, phone) VALUES(1, 'zhangsan@163.com', '13811111111');

现在我们要更新Person表中id为1的人员的年龄,并且同时更新对应的Contact表中的手机号码。

我们可以使用以下的SQL语句来实现:

UPDATE Person
LEFT JOIN Contact ON Person.id = Contact.person_id
SET Person.age = 21, Contact.phone = '13822222222'
WHERE Person.id = 1;

在这个语句中,我们使用LEFT JOIN将Person表和Contact表连接起来。接着,使用SET关键字同时更新两个表中的字段。最后,通过WHERE子句指定更新特定id的人员信息。

运行上面的SQL语句后,可以通过以下的语句查看更新结果:

SELECT * FROM Person;
SELECT * FROM Contact;

结果如下:

+----+-------+-----+
| id | name  | age |
+----+-------+-----+
|  1 | 张三 |  21 |
|  2 | 李四 |  30 |
+----+-------+-----+

+-----------+------------------+-------------+
| person_id | email             | phone       |
+-----------+------------------+-------------+
|         1 | zhangsan@163.com | 13822222222 |
+-----------+------------------+-------------+

阅读更多:MySQL 教程

总结

通过使用LEFT JOIN,我们可以在MySQL中更新多个表中的数据。再结合其他的SQL语句,我们能够完成更加复杂的数据处理操作。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程