python数据库连接之pyMysql -:使用变量向SQL语句中传递参数
Posted youzaijiang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python数据库连接之pyMysql -:使用变量向SQL语句中传递参数相关的知识,希望对你有一定的参考价值。
使用mysqldb连接数据库执行sql语句时,有以下几种传递参数的方法:
一.通过自定义参数传递:
import pymysql import types dbinfo="host":"192.168.6.41", "user":"lrtsaudio", "password":"2&Ty3DW75i!(vgo.l3Odp1fgWgEG", "db":"audiobook" rule=1 sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s"% rule connect1=pymysql.connect(**dbinfo) cursor1=connect1.cursor() cursor1.execute(sql) r2=cursor1.fetchmany(2) print(r2) cursor1.close() connect1.close
*这种方法跟常规方法区别不大,且存在漏洞。有些时候不能正常解析,比如包含某些特殊字符,甚至会造成注入攻击的风险。-----不常用,有人用的时候能看懂即可。
二.执行语句传递参数。(可传递多个参数)
...... #值用“%s”占位符占位(无论是字符串、数字或者其他类型,都是使用这个占位符) sql="SELECT book_id,book_name FROM t_book WHERE market_rule=%s" connect1=pymysql.connect(**dbinfo) cursor1=connect1.cursor() #执行时,传递对应的参数 cursor1.execute(sql,1) ......
三、使用字典类型传递参数
以上是关于python数据库连接之pyMysql -:使用变量向SQL语句中传递参数的主要内容,如果未能解决你的问题,请参考以下文章