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能有一定的帮助,如果有疑问大家可以留言交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564554.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

堆排序java实例_堆排序(示例代码)

前言:网上有很多堆排序的案例,我只想写自己堆排序。一:堆结构即:一个父节点最多只能有两个子节点(可以没有),如下图图1图2图3 图4二: 数组与堆结构转换假设已知堆数组 int[] a {9,7,6,4,5,1,3,2,} 则相…

C++变量位置

C 在C语言部分做了细节上的改进&#xff0c;变量的定义位置就是其中之一。 请看下面的代码&#xff1a; #include <stdio.h> int main(){int a;scanf("%d", &a);int b;scanf("%d", &b);int c a b;printf("%d\n", c);return 0;…

java source folder作用_java项目把源码放到folder里,不是source folder,这个java代码还能被调用吗?...

看到这个问题&#xff0c;真心觉得初学入门就用IDE真心不是一个好方法。IDE屏蔽了太多基础知识&#xff0c;比如Java是需要编译的&#xff0c;运行的是编译后的class文件。编译命令有编译参数&#xff0c;执行命令有执行命令的参数。还有环境变量&#xff0c;classpath等。由于…

python 生成图片_python生成带有表格的图片

因为工作中需要&#xff0c;需要生成一个带表格的图片例如&#xff1a;直接在html中写一个table标签&#xff0c;然后单独把表格部分保存成图片或者是直接将excel中的内容保存成一个图片刚开始的思路&#xff0c;是直接生成一个带有table标签的html文件&#xff0c;然后将这个文…

C++布尔类型

C语言中&#xff0c;关系运算和逻辑运算的结果有两种&#xff0c;真和假&#xff1a;0 表示假&#xff0c;非 0 表示真。例如&#xff1a; #include <stdio.h> int main(){int a, b, flag;scanf("%d %d", &a, &b);flag a > b; //flag保存关系运算…

wpf xaml突然不能自动补齐代码_Xaml+C#桌面客户端跨平台初体验

(给DotNet加星标&#xff0c;提升.Net技能)转自&#xff1a;大头BigHeadcnblogs.com/Big-Head/p/12614118.html前言随着 .NET 5的到来&#xff0c;微软在 .NET跨平台路上又开始了一个更高的起点。回顾.NET Core近几年的成果&#xff0c;可谓是让.NET重生了一次.ASP .NET Core跨…

java实现日期让随动变_java工具类(四)之实现日期随意跳转

Java实现日期随意跳转项目开发过程中。须要进行订单提醒日期的设置。主要包含设置每月指定的日期或者指定的天数&#xff0c;代码例如以下&#xff1a;public static String DateOperation(String type, Date myDate, int num) {String date null;SimpleDateFormat formatter …

python继承和多态_Python 简明教程 --- 21,Python 继承与多态

程序不是年轻的专利&#xff0c;但是&#xff0c;它属于年轻。目录我们已经知道封装&#xff0c;继承和多态 是面向对象的三大特征&#xff0c;面向对象语言都会提供这些机制。1&#xff0c;封装在这一节介绍类的私有属性和方法的时候&#xff0c;我们已经讲到过封装。封装就是…

C++ new和delete运算符

C语言中&#xff0c;动态分配内存用 malloc() 函数&#xff0c;释放内存用 free() 函数。如下所示&#xff1a; int *p (int*) malloc( sizeof(int) * 10 ); //分配10个int型的内存空间 free(p); //释放内存在C中&#xff0c;这两个函数仍然可以使用&#xff0c;但是C又新增…

计划任务如何使用 java_java – 如何计划任务以定期间隔运行?

使用timer.scheduleAtFixedRatevoid java.util.Timer.scheduleAtFixedRate(TimerTask task, long delay, long period)scheduleAtFixedRatepublic void scheduleAtFixedRate(TimerTask task,long delay,long period)在指定的延迟后开始&#xff0c;为指定的任务调度重复的固定速…

C++ inline内联函数详解

函数是一个可以重复使用的代码块&#xff0c;CPU 会一条一条地挨着执行其中的代码。CPU 在执行主调函数代码时如果遇到了被调函数&#xff0c;主调函数就会暂停&#xff0c;CPU 转而执行被调函数的代码&#xff1b;被调函数执行完毕后再返回到主调函数&#xff0c;主调函数根据…

vc6.0mfc中单选按钮如何分组_按钮系列02-搞定按钮和选框的14个秘诀

UI 界面当中&#xff0c;各种开关、按钮、选框控件是非常常见的组件&#xff0c;它们看起来不复杂&#xff0c;但是在实际使用的时候讲究非常之多&#xff0c;它们不仅关乎体验&#xff0c;而且涉及到一些界面逻辑问题。英文中的 「Toggle」一词&#xff0c;对应的是带有短柄的…

C++函数的默认参数

在C中&#xff0c;定义函数时可以给形参指定一个默认的值&#xff0c;这样调用函数时如果没有给这个形参赋值&#xff08;没有对应的实参&#xff09;&#xff0c;那么就使用这个默认的值。也就是说&#xff0c;调用函数时可以省略有默认值的参数。如果用户指定了参数的值&…

python复制文件夹不阻塞_python学习笔记-(十四)I/O多路复用 阻塞、非阻塞、同步、异步...

1. 概念说明1.1 用户空间与内核空间现在操作系统都是采用虚拟存储器&#xff0c;那么对32位操作系统而言&#xff0c;它的寻址空间(虚拟存储空间)为4G(2的32次方)。操作系统的核心是内核&#xff0c;独立于普通的应用程序&#xff0c;可以访问受保护的内存空间&#xff0c;也有…

java某个类避免findbug检查_Findbug插件静态java代码扫描工具使用

本文转自http://blog.csdn.net/gaofuqi/article/details/22679609 感谢作者FindBugs 是由马里兰大学提供的一款开源 Java静态代码分析工具。FindBugs通过检查类文件或 JAR文件&#xff0c;将字节码与一组缺陷模式进行对比从而发现代码缺陷&#xff0c;完成静态代码分析。FindBu…

Spring 是什么

Spring 是一个主流的 Java Web 开发框架&#xff0c;该框架是一个轻量级的应用框架&#xff0c;具有很高的凝聚力和吸引力。 Spring 是分层的 Java SE/EE full-stack 轻量级开源框架&#xff0c;以 IoC&#xff08;Inverse of Control&#xff0c;控制反转&#xff09;和 AOP&…

4乘4方格走的路线_苏州周边4个冷门自驾游路线景点推荐

1.崇明东滩崇明东滩湿地公园有两大看点&#xff0c;一是看候鸟迁徙&#xff0c;二是看日出和星空。东滩湿地滩涂辽阔&#xff0c;低头是大片的芦苇&#xff0c;抬头是满天斑斓的云彩&#xff0c;顺着木栈道走在公园内&#xff0c;如与大自然融为一体&#xff0c;可360度将美景收…

matlab程序转java_用面向对象的方法将一段JAVA代码转化为matlab

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼public class Variable {/*list of variables this variable is connected to. */ Vector neighbors;/* id of this variable */public int varID;/* id of agent this variable belongs to. */public int agentID;/** The domain …

Spring体系结构详解

Spring 框架采用分层架构&#xff0c;根据不同的功能被划分成了多个模块&#xff0c;这些模块大体可分为 Data Access/Integration、Web、AOP、Aspects、Messaging、Instrumentation、Core Container 和 Test。 Spring的体系结构如下图所示 图中包含了 Spring 框架的所有模块…

python时间戳是什么意思_Python-时间戳

# import time# 返回时间戳# print(time.time()) #返回时间戳# print(time.gmtime()) #返回utc时间戳# print(time.localtime(time.time()-86400)) #返回当地的时间戳# print(time.strftime("%Y-%m-%d",time.localtime())) #将struct_time转为字符串# print(time.mkt…