脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python pymysql向SQL语句中传参的多种方法

Python pymysql向SQL语句中传参的多种方法

2023-05-15 16:55ministep88 Python

这篇文章主要介绍了Python-pymysql如何向SQL语句中传参,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

Python-pymysql如何向SQL语句中传参

方法一:不传递参数

?
1
2
3
4
5
6
## 方式一、不传递参数
 id = "01"
 name = "语文"
 sql = "select * from course where course_id = '%s'  and course_name = '%s' ;" %(id,name)
 ## 执行数据库查询或命令
 cursor.execute(sql)

方法二:使用数组传递参数

?
1
2
3
4
5
## 方式二、使用数组传递参数
  values = ['01','语文']
  sql = "select * from course where course_id = %s and course_name = %s "
  ## 执行数据库查询或命令
  cursor.execute(sql,values)

注意:此处的占位符是%s,无论是字符串、数字或者其他类型,都是这个占位符。 %s不能加引号。

与第一种写法,有什么区别呢?

两者区别是对变量的解析:

第一种写法,使用百分号%, 是用Python解释器对%s执行相应的替换。这种方法存在漏洞,有些时候不能正常解析,比如包含某些特殊字符,甚至会造成注入攻击的风险。

第二种,变量是作为execute的参数传入的,由MySQLdb的内置方法把变量解释成合适的内容。

一般情况下,建议使用第二种方法,把变量作为参数传递给execute。

方法三:使用字典dict类型传递参数

?
1
2
3
4
5
6
7
## 方式三、使用字典dict类型传递参数
  sql = "select * from course where course_id = %(course_id)s and course_name =  %(course_name)s ;"
  ## 将参数封装到字典
  #values = {'course_id':'01','course_name':'语文'}
  values = {'course_name':'语文','course_id':'01'}
  ## 执行数据库查询或命令
  cursor.execute(sql,values)

这种方式,传递的参数对应关系比较清晰。尤其是参数比较多时,使用字典,可以保证传递参数的顺序正确。

到此这篇关于Python-pymysql如何向SQL语句中传参的文章就介绍到这了,更多相关Python sql语句传参内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/ministep/p/17401141.html

延伸 · 阅读

精彩推荐
  • Pythonpython实现班级档案管理系统

    python实现班级档案管理系统

    这篇文章主要为大家详细介绍了python实现班级档案管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Xcodd7752023-02-22
  • PythonPython基于React-Dropzone实现上传组件的示例代码

    Python基于React-Dropzone实现上传组件的示例代码

    本文主要介绍了在React-Flask框架上开发上传组件的技巧。文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    DisonTangor11172021-12-20
  • PythonDjango restframework 源码分析之认证详解

    Django restframework 源码分析之认证详解

    这篇文章主要介绍了Django-restframework 源码分析之认证详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Eurekaa7152021-06-01
  • PythonDjango商城项目注册功能的实现

    Django商城项目注册功能的实现

    注册功能是网页项目必备的需求,本文提供了一个Django项目实现注册功能的示例,有此需求的同学可以参考下...

    测试老憨9682021-11-24
  • Python利用Python如何生成便签图片详解

    利用Python如何生成便签图片详解

    python现在火热的程度相信不用过多介绍了,下面这篇文章主要给大家介绍了关于利用Python如何生成便签图片的相关资料,文中通过示例代码介绍的非常详细...

    这个人很懒4802021-03-14
  • PythonPython虚拟环境的原理及使用详解

    Python虚拟环境的原理及使用详解

    这篇文章主要介绍了Python虚拟环境的原理及使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    读芯术11092021-07-28
  • PythonPython爬虫数据的分类及json数据使用小结

    Python爬虫数据的分类及json数据使用小结

    这篇文章主要介绍了Python爬虫数据的分类及json数据使用小结,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下...

    初来码农9382021-09-29
  • Pythonpython处理excel文件之xlsxwriter 模块

    python处理excel文件之xlsxwriter 模块

    这篇文章主要介绍了python处理excel文件之xlsxwriter 模块,文章围绕主题展开详细的内容介绍,需要的小伙伴可以参考一下,希望对你的学习有所帮助...

    梦想橡皮擦3722023-02-02