python代码把“分表”中的数据向已有数据的“汇总表”中的空行写入,不覆盖原表数据
时间: 2023-07-15 16:12:26 浏览: 76
假设你已经连接到了数据库,下面是一个简单的 Python 代码示例,将“分表”中的数据向“汇总表”中添加,不覆盖原表数据:
```python
import psycopg2 # 这里假设你使用的是 PostgreSQL 数据库
# 连接到数据库
conn = psycopg2.connect(database="your_database", user="your_username", password="your_password", host="your_host", port="your_port")
cur = conn.cursor()
# 准备 SQL 查询语句,假设你的“分表”名为 table1,而“汇总表”名为 table2
select_query = "SELECT * FROM table1"
insert_query = "INSERT INTO table2 (column1, column2, column3) VALUES (%s, %s, %s)"
# 执行查询语句
cur.execute(select_query)
# 将查询结果插入到“汇总表”中
for row in cur.fetchall():
cur.execute(insert_query, row)
# 提交事务
conn.commit()
# 关闭游标和连接
cur.close()
conn.close()
```
在上面的代码中,我们首先使用 `psycopg2` 库连接到数据库,然后准备 SQL 查询语句,查询“分表”中的所有数据。接下来,我们用 `cur.execute()` 方法执行查询语句,并用 `cur.fetchall()` 方法获取查询结果。
然后,我们使用 `for` 循环遍历查询结果,并将每一行数据插入到“汇总表”中,使用 `cur.execute()` 方法和插入语句。注意,我们使用了 `%s` 占位符来表示每个列的值,这是为了避免 SQL 注入攻击。
最后,我们提交事务,关闭游标和连接。这样,我们就将“分表”中的数据成功添加到了“汇总表”中,而不会覆盖原表数据。
阅读全文