📜  sqlite 从另一个表更新 - SQL (1)

📅  最后修改于: 2023-12-03 15:35:07.362000             🧑  作者: Mango

SQLite 从另一个表更新(SQL)

在SQLite中,可以利用UPDATE语句从另一个表更新数据。这个能力非常有用,因为很多时候需要将一个表中的数据更新成另一个表中的数据。

更新指定列

要更新指定列的数据,可以使用以下语法:

UPDATE table_name
SET column_name = another_table.column_name
FROM another_table
WHERE table_name.key = another_table.key;

说明:

  • table_name 是目标表的名称,需要更新其中的数据。
  • column_name 是要更新的列的名称,如果要更新多个列,可以用逗号分隔它们。
  • another_table 是提供新值的源表的名称。
  • key 是连接表的关键字。
更新所有列

如果要更新所有列,可以使用以下语法:

UPDATE table_name
SET *
FROM another_table
WHERE table_name.key = another_table.key;
示例

假设有两个表,一个是customers,另一个是customer_backup。现在要将customer_backup中每个客户的地址和邮编更新到customers表中,以下是实现的SQL代码:

UPDATE customers
SET address = customer_backup.address,
    zipcode = customer_backup.zipcode
FROM customer_backup
WHERE customers.customer_id = customer_backup.customer_id;
实现

在SQLite中,可以使用以下步骤从另一个表更新数据:

  1. 连接源表和目标表,并指定一个连接关键字来定义连接逻辑。
  2. 在更新语句中,指定要更新的列和源表中的列,以及WHERE子句以匹配源表中的行和目标表中的行。
参考