如何在Python中连接字符串

时间:2010-03-31 00:41:33

标签: python

query = "SELECT * FROM mytable WHERE time=%s", (mytime)

目前,我正在这样做,但我想把它分成2个字符串(所以我可以单独完成)

cursor.execute("SELECT * FROM mytable WHERE time=%s",(mytime))

然后,我想为它添加限制%s。如果不弄乱%s,我怎么能这样做呢?

编辑:我想连接query2,它有“LIMIT%s,%s”

2 个答案:

答案 0 :(得分:3)

警惕SQL注入,您可以动态撰写查询as Ignacio suggests

>>> qry = 'SELECT t.mycol FROM mytable t WHERE t.mycol = %%s %s' % 'LIMIT %s,%s'

你问:

  

如何在不搞乱的情况下做到这一点   mytime中的%s?

请注意,您使用额外的%s转义第一个% 这给了你这个字符串(就DB-API而言当然看起来很可爱):

>>> qry
'SELECT * FROM mytable t WHERE t.mycol = %s LIMIT %s,%s'

然后将此字符串和参数传递给execute()方法:

curs.execute(qry, (mytime,1,2,))

HTH

答案 1 :(得分:1)

cxn.execute("SELECT * FROM mytable WHERE time=%%s LIMIT %d" % (mylimit,), mytime)

或者:

cxn.execute("SELECT * FROM mytable WHERE time=%s" + (" LIMIT %d" % (mylimit,)), mytime)