在SQL语句中如果定义字符串,则字符串必须使用“'”就是单引号进行声明,但是如果现在所操作的数据库本身含有“'”单引号,就会造成语法错误,此时的数据也不能成功保存到数据库中。为了解决这类问题,在pymysql中支持对占位符的处理,开发者需要在SQL中使用“%”定义占位符,在使用excute()方法执行时对占位符的数据进行填充即可。
比如数据库表中的字段 mr'yootk这个本身含有“'”单引号,所以执行时语法错误
#使用占位符方式添加数据 #coding utf-8 import pymysql,traceback SQL = "insert into user (name,age,birthday,salary,note)"\ "values (%s,%s,%s,%s,%s)" def main(): try: name = "mr'Yootk" age = 18 birthday = '2013-09-26' salary =9600.23 note = "www.wangyi.com" conn = pymysql.connect( host='10.139.7.39', port=3306, user='root', passwd='Bccdr@123456', database='yootk', charset='utf8') cmd = conn.cursor() cmd.execute(query=SQL,args=[name,age,birthday,salary,note]) conn.commit() print("更新影响的数据行数: %s" % cmd.rowcount) print("最后一次增长ID: %s" % cmd.lastrowid) except Exception: print("处理异常: " + traceback.format_exc()) finally: conn.close() if __name__ == "__main__": main()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理