以下是一个示例代码,演示了如何比较两个表并根据特定表的内容将数据插入到另一个表中。
import sqlite3
# 连接到数据库
conn = sqlite3.connect('database.db')
cursor = conn.cursor()
# 创建目标表
cursor.execute('''CREATE TABLE IF NOT EXISTS target_table (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)''')
# 创建源表
cursor.execute('''CREATE TABLE IF NOT EXISTS source_table (
id INTEGER PRIMARY KEY,
name TEXT,
age INTEGER
)''')
# 向源表插入数据
cursor.execute("INSERT INTO source_table (id, name, age) VALUES (1, 'John', 25)")
cursor.execute("INSERT INTO source_table (id, name, age) VALUES (2, 'Jane', 30)")
cursor.execute("INSERT INTO source_table (id, name, age) VALUES (3, 'Bob', 35)")
# 比较两个表并从特定表插入数据
cursor.execute('''INSERT INTO target_table (id, name, age)
SELECT id, name, age FROM source_table
WHERE id NOT IN (SELECT id FROM target_table)''')
# 提交更改并关闭连接
conn.commit()
conn.close()
在上述代码中,我们使用了SQLite数据库,并创建了两个表:target_table
和source_table
。首先,我们创建了目标表和源表,并向源表插入一些数据。然后,我们使用INSERT INTO ... SELECT ... FROM ...
语句将源表中不存在于目标表中的数据插入到目标表中。最后,我们提交了更改并关闭了数据库连接。
请注意,这只是一个示例代码,实际情况可能需要根据具体需求进行适当的修改。
上一篇:比较两个表并获取记录的新旧值
下一篇:比较两个表并删除匹配的项。