python-pymysql库使用一文详解+实例代码

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: python-pymysql库使用一文详解+实例代码

前言


首先使用python很大一部分人是用于数据分析或者是开发,而数据来源一般都是存储在数据库中。作为python怎么能不会从mysql里面获取到数据呢。而pymysql就是联通mysql实现python窗口与mysql数据库交互的库,十分方便操作。此篇文章将详细说明如何掌握并使用该库。mysql库官方文档:PyMySQL


一、pymysql用途


pymysql是可用于连接mysql数据库,且能够提供mysql与python窗口交互创立通道的工具库。可以通过创建引擎,建立游标直接通过python编程实现mysql数据库操作。在开发和分析可形成线性脚本。是广泛使用的库。


二、下载


1.下载依赖


首先要安装mysql库的话要提前加载该库的依赖:


ython – one of the following:

CPython >= 3.6

Latest PyPy 3

MySQL Server – one of the following:

MySQL >= 5.6

MariaDB >= 10.0

python版本3.6就可,mysql版本需5.6以上。


2.下载方式


打开cmd,在菜单打入cmd即可进入黑框命令提示符:

输入:


pip install PyMySQL

fce24079f2c74439b56b08a012c62577.png


若有anaconda直接在Enviroment上搜索pymysql:


1e58ca22b14d4fec97496e04fe18bb80.png

下载完即可使用。


三、使用


这里使用Jupyter展示使用:


首先先导入库:


import pymysql


1.连接Mysql数据库


在连接数据库之前,你数据库里面肯定要有东西,不然会报错。可以先在数据库中创建一个数据库,创建表格并写入数据。


create database mysql
use mysql
create table metric_valuestest 


数据用插入得到方式或是在图形界面工具,如Navicat上插入都可:

ce57ba32d4cf4b19a47e41b98bf35b8d.png


已有数据库记得打开数据库:


net start mysql


官方文档连接格式:

# Connect to the database
connection = pymysql.connect(host='localhost',
                             user='user',
                             password='passwd',
                             database='db',
                             port = '3306'
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

参数说明:


host:为本机IP地址,当然hosts文件里面localhost就是本机ip地址127.0.0.1所以不需要修改。

user:使用者的名字,可写可不写。一般为admin管理员。

password:进入你数据库的密码。创建mysql的时候需要设定密码,就是那个密码。

database:使用的数据库名字

port:端口号,一般为3306

charset:编码格式,一般为utf8.

cursorclass:数据库连接池返回结果类型设置。

运行测试连接是否成功。成功便可进行下一步


2.创建游标对象


连接好了数据库,我们需要创建一个游标用于模拟我们使用mysql的行为。创建游标后在没关闭数据库之前都可以正常使用且可以不限次数使用。

# 使用 cursor() 方法创建一个游标对象 cursor                      
cursor = conn.cursor()

3.执行函数


创建游标后,游标cursor自带execute()函数可以执行SQL语句,成功则返回结果:

如我们想要显示所有的数据库:


sql='show databases'
cursor.execute(sql)


该语句执行成果后会返回语句数量

3d7284244b834a6eb7968f7d4cb1585d.png

想要具体看到执行结果可以添加fetchall()函数:

sql='show databases'
response1=cursor.execute(sql)
response2=cursor.fetchall()
response2

2d6289ea6c134a1f9f5688c575a0231d.png

4.获取查询结果集的方法


当使用游标cursor.execute(sql)方法查询数据执行成功后,我们可以通过后缀函数获取查询的结果集:


image.png


其中max_stmt_length= 1024000。 所有的增删改查都可以以字符串的形式传入sql,再有execute传入sql进行操作执行。


Connection类提供了三个方法: begin 开始事务, commit 提交事务, rollback 回滚事务,如果通过 sql 语句对数据库中的数据进行了修改, 则需要提交事务。

database.commit()


rollback()为回退到上一步操作,若发生其他错误带来不可预知的错误,可以与try except联合起来一起使用,返回到语句没有执行的状态。


主要使用方式:结合try except捕获异常,将事务进行rollback回滚。


try:
     db.commit()
except Exception as e:
     db.rollback()


关闭有close()方法,在程序结束时需要建立的连接即建立的游标资源释放掉,避免资源的浪费。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
机器学习/深度学习 存储 数据挖掘
Python图像处理实用指南:PIL库的多样化应用
本文介绍Python中PIL库在图像处理中的多样化应用,涵盖裁剪、调整大小、旋转、模糊、锐化、亮度和对比度调整、翻转、压缩及添加滤镜等操作。通过具体代码示例,展示如何轻松实现这些功能,帮助读者掌握高效图像处理技术,适用于图片美化、数据分析及机器学习等领域。
71 20
|
3天前
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
26 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
27天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
103 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
1月前
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
110 34
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
22天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
XML JSON 数据库
Python的标准库
Python的标准库
185 77
|
2月前
|
Python
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
78 33
|
2月前
|
JavaScript API C#
【Azure Developer】Python代码调用Graph API将外部用户添加到组,结果无效,也无错误信息
根据Graph API文档,在单个请求中将多个成员添加到组时,Python代码示例中的`members@odata.bind`被错误写为`members@odata_bind`,导致用户未成功添加。
51 10
|
1月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
41 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
2月前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
175 5

热门文章

最新文章