python中的pymysql_(转)Python中操作mysql的pymysql模块详解
原文:https://www.cnblogs.com/wt11/p/6141225.html
https://shockerli.net/post/python3-pymysql/----Python 3 进阶 —— 使用 PyMySQL 操作 MySQL
前言
pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。
本文测试python版本:2.7.11。mysql版本:5.6.24
一、安装
二、使用操作
1、执行SQL
注意:存在中文的时候,连接需要添加charset='utf8',否则中文显示乱码。
2、获取查询数据
3、获取新创建数据自增ID
可以获取到最新自增的ID,也就是最后插入的一条数据ID
4、移动游标
操作都是靠游标,那对游标的控制也是必须的
5、fetch数据类型
关于默认获取的数据是元祖类型,如果想要或者字典类型的数据,即:
6、调用存储过程
a、调用无参存储过程
b、调用有参存储过程
三、关于pymysql防注入
1、字符串拼接查询,造成注入
正常查询语句:
构造注入语句:
2、避免注入,使用pymysql提供的参数化语句
正常参数化查询
构造注入,参数化查询注入失败。
结论:excute执行SQL语句的时候,必须使用参数化的方式,否则必然产生SQL注入漏洞。
3、使用存mysql储过程动态执行SQL防注入
使用MYSQL存储过程自动提供防注入,动态传入SQL到存储过程执行语句。
pymsql中调用
四、使用with简化连接过程
每次都连接关闭很麻烦,使用上下文管理,简化连接过程
总结
以上就是关于Python中pymysql模块的全部内容,希望对大家学习或使用python能有一定的帮助,如果有疑问大家可以留言交流。
python中的pymysql_(转)Python中操作mysql的pymysql模块详解相关推荐
- python propresql mysql_Python中操作mysql的pymysql模块详解
PyMySQL是一个Python编写的MySQL驱动程序,让我们可以用Python语言操作MySQL数据库. 首先,使用pip安装PyMySQL. pip install PyMySQL 使用PyMy ...
- Python中操作mysql的pymysql模块详解
前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11. ...
- python的mysql模块_Python中操作mysql的pymysql模块详解
前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持3.x版本. 本文测试python版本:2.7.11. ...
- python多线程读取数据库数据_python多线程操作MySQL数据库pymysql
python多线程操作MySQL数据库pymysql 项目中使用多线程操作数据库提示错误:pymysql.err.InterfaceError: (0, "),原因是pymysql的exec ...
- Python编程手册系列 - 日历、日期、时间相关内建模块详解
Python - 日历calendar.日期datetime.时间time模块详解 博主精心制作了该系列彩色高亮的动态链接模块手册,预期该手册比阅读纸质书籍有更友好.更便捷.更让人舒适的使用体验.希望 ...
- python对sqlite增删改查_Python操作SQLite数据库的方法详解【导入,创建,游标,增删改查等】...
本文实例讲述了python操作SQLite数据库的方法.分享给大家供大家参考,具体如下: SQLite简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的 ...
- cmd mysql_CMD命令操作MySql数据库的方法详解
第一:mysql服务的启动和停止 net stop mysql net start mysql 第二:登陆 mysql –u用户名 [–h主机名或者IP地址] –p密码 说明:用户名是你登录的用户,主 ...
- python cx_oracle模块详解_cx_Oracle模块详解
1.安装cx_Oracle模块 1-1.环境准备: 1-1-1.oracle client最小安装 instantclient-sqlplus-linux.x64-11.2.0.4.0 instant ...
- python中common在哪个模块导入_python的常用模块之collections模块详解
认识模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的 ...
最新文章
- 单个晶体管形成的奇怪振荡电路
- VTK:可视化之PointDataSubdivision
- okhttp连接池_OkHttp配置HTTPS访问+服务器部署
- 使用Fiori elements技术开发的ui5应用,方便大家参考
- Gradle接口:Gradle构建元数据
- instagram架构_如何为亚马逊,Instagram,Zalando和天猫生成产品图像
- 什么是徽标LOGO模板?
- Java定时器quartz停止
- VIM 编辑器配置与使用
- java中lastmodified_Java File lastModified()用法及代码示例
- MachineLearning in Action (机器学习实战)源码和数据集下载地址
- python节日贺卡绘制
- Nginx 搭建DASH服务器
- QQ邮箱 接受 天气查询 阿里云自动运行学习记录
- 配置Chrome浏览器burpsuite HTTPS抓包
- oracle空间数据库实验报告,Oracle数据库实验报告六 PL/SQL基础
- Python 实例 - Day3 - Spirograph 万花尺(完结)
- 强烈推荐的音视频资料(文中有福利哈!)
- uni-app 横屏滚动抽奖
- redeclared with a different type
热门文章
- android webservices 返回多行多列数据,NoahWeb实现表格多行多列
- java 复写_课程5.4之函数的复写(override)
- mvc:annotation-driven 注解的作用
- C语言2020年作业,2020年c语言上机报告范文【四篇】
- php判断目录是否有写的权限,php中判断文件空目录是否有读写权限
- azure webjob java_使用 WebJobs 运行后台任务 | Azure Docs
- mysql服务器程序_MySQL服务器
- php7 ast,PHP7 的抽象语法树(AST)带来的变化
- mongoose换成mysql_如何将MongoDB数据库的数据迁移到MySQL数据库中
- Mybatis-puls打印sql语句