python连接数据库后通过占位符添加数据


   在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()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM