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位置非固定个数的参数; 展开
params列表怎么指定%s位置非固定个数的参数; 展开
3个回答
2015-06-02 · 知道合伙人互联网行家
关注
展开全部
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);
大致就是这么个意思!
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);
大致就是这么个意思!
展开全部
加一步转换
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)
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得你可以把里面的sql语句,拿出来用一个string = sql语句,然后用用循环把params
数组或者链表里面的对应每一条sql写出来,然后执行cursor.execute(update_string),这样就不需要考虑参数个数
数组或者链表里面的对应每一条sql写出来,然后执行cursor.execute(update_string),这样就不需要考虑参数个数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |