从file.Python3将值变量插入sql查询

Posted

技术标签:

【中文标题】从file.Python3将值变量插入sql查询【英文标题】:Insert value variable into sql query from file.Python3 【发布时间】:2017-06-25 13:36:59 【问题描述】:

我有以下 Python 代码将结果从 oracle 数据库中提取到 csv。

我有一个包含 ID 列表的 txt 文件 示例:

ID

ID124543

ID124544

ID124545

我想从文件中读取每个 ID,将其作为变量插入到 sql 查询中。

SQL="SELECT ID, FIELD1, FIELD2 FROM SOME_TABLE WHERE ID=variable"

帮帮我,也许有人解决了这个问题。 告诉我如何正确地将变量与 sql 查询相关联?我正在使用 cx_Oracle。

【问题讨论】:

Python cx_Oracle bind variables的可能重复 【参考方案1】:

以下内容可能对您有用。 IIRC 它来自http://www.oracle.com/technetwork/articles/prez-python-dataparsing-087750.html

import csv
import cx_Oracle

db = cx_Oracle.connect("hr", "hrpwd", "localhost/XE")
cursor = db.cursor()
cursor.execute("ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'")

reader = csv.reader(open("job_history.csv", "r"))
lines = []
for line in reader:
    lines.append(line)

cursor.executemany("INSERT INTO job_his VALUES(:1,:2,:3,:4,:5)", lines)
db.commit()

【讨论】:

以上是关于从file.Python3将值变量插入sql查询的主要内容,如果未能解决你的问题,请参考以下文章

读取 XML 数据并构建查询以将值插入 SQL Server DB 的最佳方法是啥?

SQL查询INSERT无法将值插入我的数据库[重复]

带条件的 SQL 插入查询

SQL如何将值插入对应实体号EntityID的最后一行,表如下

将值设置为变量并根据条件SQL进行修改

如何使用具有多个结果的子查询将值插入表中?