zoukankan      html  css  js  c++  java
  • 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)
    ......

    三、使用字典类型传递参数

  • 相关阅读:
    gcc编译常用选项
    汇编指令随笔
    VIM简单操作
    Linux编译阻塞型驱动遇到'TASK_NORMAL' undeclared (first use in this function)问题解决办法
    Linux中断流程分析
    Linux驱动开发之LED驱动
    函数(三)
    函数(二)
    文件和函数(一)
    文件处理和字符编码
  • 原文地址:https://www.cnblogs.com/youzaijiang/p/11504950.html
Copyright © 2011-2022 走看看