Python中执行sql语句传入一个或多个变量

导入pymysql类库,声明数据库对象

import pymysql
db = pymysql.connect(host='127.0.0.1',
                             port=3306,
                             user='root',
                             passwd='root',
                             db='world',
                             charset='utf8')
cursor = db.cursor()

方法1:SQL语句中有一个变量时,写法参考以下方法

# 使用 %s 占位符表示当前位置被变量替代,SQL语句后面使用 %(变量名) 表示需要插入的变量
sql = "insert into goods_detail(Url) values ('%s')" %(Url)

cursor.execute(sql)
db.commit()
db.close()

方法2:SQL语句中有多个变量时,方法1不可用,需要使用方法2

# SQL语句中只用 %s 写需要替代的变量,将需要替代的变量名放在 cursor.execute 中执行
sql = "UPDATE goods_detail SET productPrice = %s,productName = %s,stock = %s where  url = %s"

cursor.execute(sql,(GoodsDetailPrice,NewGoodsName,Stock, NewGoodsUrl))
db.commit()
db.close()

语句执行完毕,最后都需要提交并关闭数据库

db.commit()
db.close()

你可能感兴趣的:(python学习,python,mysql)