关于executemany的问题
插入语句:
sql = "INSERT INTO t_emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) " \
data = [[9605, "小明", "SALESMAN", None, "1981-11-03", 6500, None, 10],
[9609, "小红", "SALESMAN", None, "1983-11-03", 3500, None, 10],
[9610, "小白3", "SALESMAN", None, "1988-11-03", 1500, None, 10]
]
cur.executemany(sql, data)
con.commit()
没问题
为什么照猫画虎查询语句不可以
sql = "SELECT * FROM t_emp WHERE deptno IN (%s)"
deptno = [[10], [20]]
cur.executemany(sql, deptno) # 这里先查询10,再查询20
res = cur.fetchall() # 最后的结果应该是查询20的结果,10的结果被覆盖了
print(res)
可是结果报错,是查询语句不能用这种方式吗?
正在回答
同学,您好,executemany()身为批量插入数据的方法,是不能用在查询中的,如果同学想要达到循环效果,可以使用您回答中for循环的形式。
如果我的回答解决了您的疑惑,望采纳!!^_^ 祝学习愉快~~~~~
- 参与学习 人
- 提交作业 625 份
- 解答问题 2669 个
数据库作为企业储存和管理数据的根本,掌握数据库是每个开发工程师必备的技能,本阶段带你学会用Python操作MySQL、Redis和MongoDB三大主流数据库。夯实数据库基础。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星