【Python查询mysql】sql语句中有变量如何传值

之前使用%s没有加引号,直接使用?代替均报错
最后,debug发现,变量使用%s代替,一定要注意sql语句中为非数值类型,%s也需要加单引号!!!
代码块如下:

from pymysql import *
def select_data_mysql(year,process_unit,material_name,plan_type,quota_type):
    #计划类型
    conn = connect(host='10.11XX', port=3316, user='ps', password='pdms_dy', database='dys',
                   charset='utf8')
    #创建游标
    cur=conn.cursor()
    #查询所需字段
    #业务查询year、process_unit、material_name、plan_type、quota_type
    sql_content="SELECT id,process_unit FROM t_pdms_pp_pm_plan_year WHERE YEAR =%s AND process_unit = %s AND material_name = '%s' AND plan_type = '%s' AND quota_type = '%s'"%(year,process_unit,material_name,plan_type,quota_type)
    cur.execute(sql_content)
    #获取所有数据
    result=cur.fetchall()
    #关闭cursor
    cur.close()
    #关闭connection
    conn.close()
    #查询结果是一个元祖,由于结果只有1条数据,就取第一条数据第一个字段
    re=result[0][0]
    print(re)
    return re
if __name__ == "__main__":
    select_data_mysql('2022',10,'石英砂','物料消耗计划','处理量')
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值