python使用mysql查询语句时,怎么实现selecct in方法非固定个数的查询条件

cursor.execute('SELECTktvCode,roomCode,qrCodeFROMktv_roomWHEREktvCode="002"ANDstatusA... cursor.execute('SELECT ktvCode,roomCode,qrCode FROM ktv_room WHERE ktvCode="002" AND statusAt="YES" AND roomCode in (%s)',params)
params列表怎么指定%s位置非固定个数的参数;
展开
 我来答
志当存高远389
2015-06-02 · 知道合伙人互联网行家
志当存高远389
知道合伙人互联网行家
采纳数:11237 获赞数:20406
08年毕业,一直从事计算机行业,从基层做起。有较强的实践操作能力。

向TA提问 私信TA
展开全部
MySQLdb.connect是python 连接MySQL数据库的方法,在Python中 import MySQLdb即可使用,至于connect中的参数很简单:
host:MySQL服务器名
user:数据库使用者
password:用户登录密码
db:操作的数据库名
charset:使用的字符集(一般是gb2312)
cursor = db.cursor() 其实就是用来获得python执行Mysql命令的方法,也就是
我们所说的操作游标
下面cursor.execute则是真正执行MySQL语句,即查询TABLE_PARAMS表的数据。
至于fetchall()则是接收全部的返回结果行 row就是在python中定义的一个变量,用来接收返回结果行的每行数据。同样后面的r也是一个变量,用来接收row中的每个字符,如果写成C的形式就更好理解了
for(string row = ''; row<= cursor.fetchall(): row++)
for(char r = ''; r<= r川郸贬肝撞菲鳖十搏姜ow; r++)
printf("%c", r);
大致就是这么个意思!
random_diy
推荐于2018-03-03
知道答主
回答量:17
采纳率:0%
帮助的人:17.1万
展开全部
加一步转换
arg_list = ','.join(['%s'] * len(params))
cursor.execute('SELECT ktvCode,roomCode,qrCode FROM ktv_room WHERE ktvCode="002" AND statusAt="YES" AND roomCode in (%s)' % arg_list, params)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
newtree狮子
2015-06-10 · 超过30用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:48.3万
展开全部
我觉得你可以把里面的sql语句,拿出来用一个string = sql语句,然后用用循环把params
数组或者链表里面的对应每一条sql写出来,然后执行cursor.execute(update_string),这样就不需要考虑参数个数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式