python执行sql语句的信息获取_Python SQLite如何获取正在执行的SQL字符串语句

SQLite实际上从未将参数替换为SQL查询字符串本身;参数的值在执行命令时直接读取.

(格式化这些值只是为了将它们再次解析为相同的值,这将是无用的开销.)

但是如果你想知道如何在SQL中编写参数,你可以使用quote function;像这样的东西:

def log_and_execute(cursor, sql, *args):

s = sql

if len(args) > 0:

# generates SELECT quote(?), quote(?), ...

cursor.execute("SELECT " + ", ".join(["quote(?)" for i in args]), args)

quoted_values = cursor.fetchone()

for quoted_value in quoted_values:

s = s.replace('?', quoted_value, 1)

print "SQL command: " + s

cursor.execute(sql, args)

(如果有一个?不是参数,那么此代码将失败,即在文字字符串中.)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值