Python数据持久化-mysql篇

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 1.下载pymysql模块pymysql模块对python3的支持比较好安装命令:pip install pymysql2.新建一个数据库会用可视化工具hedisql或者navicat创建数据库则跳过此步打开cmd或者PoweShell打开...

1.下载pymysql模块

pymysql模块对python3的支持比较好
安装命令:pip install pymysql

2.新建一个数据库

会用可视化工具hedisql或者navicat创建数据库则跳过此步
打开cmd或者PoweShell
打开方式是windows+R组合键
具体操作为:在按住windows键的情况,再按R键
windows键在键盘左下方,下方第一行从左往右数第二个有windows图标的键就是windows键
呼唤出窗口如下图所示:

图片.png-7kB
图片.png-7kB

运行窗口中输入powershell
图片.png-6.9kB
图片.png-6.9kB

点击上图中的确定后,如下图所示。
图片.png-4kB
图片.png-4kB

在PowerShell中输入命令并运行: mysql -u root -p
图片.png-4.6kB
图片.png-4.6kB

输入root用户对应的密码后,运行如下图所示:
图片.png-11.6kB
图片.png-11.6kB

在mysql中输入命令并运行: create database pydb
图片.png-9.5kB
图片.png-9.5kB

出现上图所示,则成功创建数据库。

3.编辑py文件

3.1插入数据

import pymysql

if __name__ == "__main__":
    args = dict(
        host = 'localhost',
        user = 'root',
        passwd = '...your password',
        db = 'pydb',
        charset = 'utf8'
    )
    conn = pymysql.connect(**args)
    cursor = conn.cursor()
    cursor.execute("drop table if exists test")
    cursor.execute("create table test(id int,name varchar(20))")
    cursor.execute('insert into test values(1,"小明")')
    cursor.execute('insert into test values(2,"小红")')
    cursor.execute('insert into test values(3,"小王")')
    conn.commit()
    conn.close()
AI 代码解读

3.2查询数据

cursor.fetchall()函数示例:

import pymysql

if __name__ == "__main__":
    args = dict(
        host = 'localhost',
        user = 'root',
        passwd = '...your password',
        db = 'pydb',
        charset = 'utf8'
    )
    conn = pymysql.connect(**args)
    cursor = conn.cursor()
    cursor.execute("select * from test")
    data_list = cursor.fetchall()
    for data in data_list:
        print(data)
    conn.commit()
    conn.close()
AI 代码解读

上面一段代码的运行结果如下:

(1, '小明')
(2, '小红')
(3, '小王')

cursor.fetchmany()函数示例:

import pymysql

if __name__ == "__main__":
    args = dict(
        host='localhost',
        user='root',
        passwd='...your password',
        db='pydb',
        charset='utf8'
    )
    conn = pymysql.connect(**args)
    cursor = conn.cursor()
    cursor.execute("select * from test")
    data_list = cursor.fetchmany(2)
    for data in data_list:
        print(data)
    conn.commit()
    conn.close()
AI 代码解读

上面一段代码的运行结果如下:

(1, '小明')
(2, '小红')

小结

关键是mysql的sql语句要熟练,python连接mysql数据库后对相应的数据库利用cursor.execute()方法进行操作。
完成操作后要提交,即conn.commit();关闭连接,即conn.close()

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
潇洒坤
+关注
目录
打赏
0
0
0
0
14
分享
相关文章
【Azure Developer】分享两段Python代码处理表格(CSV格式)数据 : 根据每列的内容生成SQL语句
本文介绍了使用Python Pandas处理数据收集任务中格式不统一的问题。针对两种情况:服务名对应多人拥有状态(1/0表示),以及服务名与人名重复列的情况,分别采用双层for循环和字典数据结构实现数据转换,最终生成Name对应的Services列表(逗号分隔)。此方法高效解决大量数据的人工处理难题,减少错误并提升效率。文中附带代码示例及执行结果截图,便于理解和实践。
淘宝商品详情API的调用流程(python请求示例以及json数据示例返回参考)
JSON数据示例:需要提供一个结构化的示例,展示商品详情可能包含的字段,如商品标题、价格、库存、描述、图片链接、卖家信息等。考虑到稳定性,示例应基于淘宝开放平台的标准响应格式。
利用Python获取网络数据的技巧
抓起你的Python魔杖,我们一起进入了网络之海,捕捉那些悠游在网络中的数据鱼,想一想不同的网络资源,是不是都像数不尽的海洋生物,我们要做的,就是像一个优秀的渔民一样,找到他们,把它们捕获,然后用他们制作出种种美味。 **1. 打开魔法之门:请求包** 要抓鱼,首先需要一个鱼网。在Python的世界里,我们就是通过所谓的“请求包”来发送“抓鱼”的请求。requests是Python中常用的发送HTTP请求的库,用它可以方便地与网络上的资源进行交互。所谓的GET,POST,DELETE,还有PUT,这些听起来像偶像歌曲一样的单词,其实就是我们鱼网的不同方式。 简单用法如下: ``` im
42 14
Python 原生爬虫教程:京东商品列表页面数据API
京东商品列表API是电商大数据分析的重要工具,支持开发者、商家和研究人员获取京东平台商品数据。通过关键词搜索、分类筛选、价格区间等条件,可返回多维度商品信息(如名称、价格、销量等),适用于市场调研与推荐系统开发。本文介绍其功能并提供Python请求示例。接口采用HTTP GET/POST方式,支持分页、排序等功能,满足多样化数据需求。
用Python爬虫抓取数据并保存为JSON的完整指南
用Python爬虫抓取数据并保存为JSON的完整指南
如何在Python下实现摄像头|屏幕|AI视觉算法数据的RTMP直播推送
本文详细讲解了在Python环境下使用大牛直播SDK实现RTMP推流的过程。从技术背景到代码实现,涵盖Python生态优势、AI视觉算法应用、RTMP稳定性及跨平台支持等内容。通过丰富功能如音频编码、视频编码、实时预览等,结合实际代码示例,为开发者提供完整指南。同时探讨C接口转换Python时的注意事项,包括数据类型映射、内存管理、回调函数等关键点。最终总结Python在RTMP推流与AI视觉算法结合中的重要性与前景,为行业应用带来便利与革新。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
本文探讨了在使用YMP 23.2.1.3迁移MySQL Server字符集为latin1的中文数据至YashanDB时出现乱码的问题。问题根源在于MySQL latin1字符集存放的是实际utf8编码的数据,而YMP尚未支持此类场景。文章提供了两种解决方法:一是通过DBeaver直接迁移表数据;二是将MySQL表数据转换为Insert语句后手动插入YashanDB。同时指出,这两种方法适合单张表迁移,多表迁移可能存在兼容性问题,建议对问题表单独处理。
【YashanDB知识库】字符集latin1的MySQL中文数据如何迁移到YashanDB
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断
Redis和Mysql如何保证数据⼀致?
1. 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不⼀致 2. 先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中 这种⽅案能解决1 ⽅案的问题,但是在⾼并发下性能较低,⽽且仍然会出现数据不⼀致的问题,⽐如线程1删除了 Redis缓存数据,正在更新Mysql,此时另外⼀个查询再查询,那么就会把Mysql中⽼数据⼜查到 Redis中 1. 使用MQ异步同步, 保证数据的最终一致性 我们项目中会根据业务情况 , 使用不同的方案来解决Redis和Mysql的一致性问题 : 1. 对于一些一致性要求不高的场景 , 不做处理例如 : 用户行为数据 ,