Python中MySQL操作--模块pymysql

保姆级教程:用ROS2 Humble和Nav2从零搭建一个能自主导航的机器人小车(含SLAM建图与避障) 本文提供了一份详细的保姆级教程,指导如何使用ROS2 Humble和Nav2从零搭建一个具备自主导航功能的机器人小车,包括SLAM建图与避障。教程涵盖了硬件组装、ROS2环境配置、URDF模型创建、SLAM建图实战、Nav2导航栈配置以及系统集成调试等关键步骤,适合机器人开发初学者和进阶开发者。 阅读详情

什么是 PyMySQL?

        PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。

PyMySQL 安装 : 

    在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。

                    PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。

如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL:

                    命令 : pip  install  pymysql

        注:  在cmd里面可以直接执行 , 记住联网   


         如果你的系统不支持 pip 命令,那就去百度吧,百度一下我知道 ! ! !

使用 pypython 的一系列操作   : 

#请求MySQL数据库
import pymysql

# 打开数据库 创建连接
#括号里面的参数分别包括: 主机地址 端口 用户 密码  数据库   编码-->存在中文的时候,连接需要添加charset='utf8',否则中文显示乱码。
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')
              #主机地址也可以用  "127.0.0.1"  这个表示本机的意思
# 创建游标
cursor = conn.cursor()

# 执行SQL,并返回收影响行数      使用  execute()  方法执行 SQL 语句
effect_row = cursor.execute("select * from student")
print(effect_row)
#输出为15    该数据库共有十五行数据

#获取数据
#获取结果的第一行数据  '' fetchone() ''
one = cursor.fetchone()
print(one)
'''
首先你要有数据库,其次 数据库里面要有数据
输出为:(10001, '123', '李文才', '女', 1, '13645667890', '地址不详', datetime.datetime(1994, 4, 12, 0, 0), None, None)
'''
# 获取剩余结果前n行数据   ''  fetchmany()  ''
for i in cursor.fetchmany(3):
    print(i)
'''
输出为:
(10002, '123', '李斯文', '男', 1, '13645556793', '河南洛阳', datetime.datetime(1993, 7, 23, 0, 0), None, None)
(10003, '123', '张萍', '女', 1, '13642345112', '地址不详', datetime.datetime(1995, 6, 10, 0, 0), None, None)
(10004, '123', '韩秋洁', '男', 1, '13812344566', '北京市海淀区', datetime.datetime(1995, 7, 15, 0, 0), None, None)
'''
# 获取剩余结果所有数据
all = cursor.fetchall()
for j in all :
    print(j)
'''
(10005, '123', '张秋丽', '女', 1, '13567893246', '北京市东城区', datetime.datetime(1994, 1, 17, 0, 0), None, None)
(10006, '123', '肖梅', '男', 2, '13563456721', '河北省石家庄市', datetime.datetime(1991, 2, 17, 0, 0), None, None)
(10007, '123', '秦洋', '女', 2, '13056434411', '上海市卢湾区', datetime.datetime(1992, 4, 18, 0, 0), None, None)
(10008, '123', '何睛睛', '男', 2, '13053445221', '广州市天河区', datetime.datetime(1997, 7, 23, 0, 0), None, None)
(20000, '000', '王宝宝', '男', 2, '15076552323', '地址不详', datetime.datetime(1996, 6, 5, 0, 0), 'stu20000@163.com', None)
(20010, '123', '何小华', '男', 2, '13318877954', '地址不详', datetime.datetime(1995, 9, 10, 0, 0), None, None)
(30011, '123456', '陈志强', '女', 3, '13689965430', '地址不详', datetime.datetime(1994, 9, 27, 0, 0), None, None)
(30012, '123456', '李露露', '男', 3, '13685678854', '地址不详', datetime.datetime(1992, 9, 27, 0, 0), None, None)
(30013, '123456', '黄小平', '女', 3, '13994109788', '北京市', datetime.datetime(1992, 8, 13, 0, 0), None, None)
(30014, '123456', '黄小平', '男', 3, '13994109788', '北京市', datetime.datetime(1992, 8, 13, 0, 0), None, None)
(30015, '123456', '黄小平2', '女', 3, '13994109799', '北京市', datetime.datetime(1993, 8, 13, 0, 0), None, None)
'''
# 注:   或取是依次获取  或许剩下的

# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

关于默认获取的数据是元祖类型,如果想要或者字典类型的数据:

改变游标:       . cursor(cursor=pymysql.cursors.DictCursor)  

#请求MySQL数据库
import pymysql

# 打开数据库 创建连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')


#游标设置为字典类型
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)

cursor.execute("select * from student")

# 获取剩余结果所有数据
one = cursor.fetchone()
print(one)
'''
输出为:
{'studentNo': 10001, 'loginPwd': '123', 'studentName': '李文才', 'sex': '女', 'gradeId': 1, 'phone': '13645667890',
 'address': '地址不详', 
 'bornDate': datetime.datetime(1994, 4, 12, 0, 0), 'email': None, 'identityCard': None}
'''

# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

创建数据库: 

#请求MySQL数据库
import pymysql

# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')

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

# 使用 execute() 方法执行 SQL,如果表存在则删除
cursor.execute("drop table if exists myNEW")

# 使用预处理语句创建表
sql = "create table myNew ( `naem`CHAR(20) NOT NULL,`age` INT,`sex` CHAR(1))"

#执行语句,创建数据库
cursor.execute(sql)

# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

数据库插入操作 :

#请求MySQL数据库
import pymysql

# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')

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

# SQL 插入语句
sql = "insert into myNew(`name`,`age`,`sex`) values ('Mac', 20, '男')"
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   conn.commit()
except:
   # 如果发生错误则回滚
   conn.rollback()

#对数据进行查找
print(cursor.execute('select * from myNew'))
print(cursor.fetchall())
'''
输出为 --> 执行了俩次   执行几次插入几次
2
(('Mac', 20, '男', None), ('Mac', 20, '男', None), 

'''

# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

数据库更新操作 :

#请求MySQL数据库
import pymysql

# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')

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

# SQL 更新语句
sql = "update myNew set `age` = 23 + 1 where `sex` = '男'"
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   conn.commit()
except:
   # 如果发生错误则回滚
   conn.rollback()

#对数据进行查找
print(cursor.execute('select * from myNew'))
print(cursor.fetchall())
'''
输出为 --> 执行了俩次   执行几次插入几次
(('Mac', 24, '男', None)
'''

# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

删除操作:

#请求MySQL数据库
import pymysql

# 打开数据库连接
conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='python', db='myschool', charset='utf8')

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

# SQL 删除语句
sql = "delete from myNew WHERE age > 20"
try:
   # 执行sql语句
   cursor.execute(sql)
   # 提交到数据库执行
   conn.commit()
except:
   # 如果发生错误则回滚
   conn.rollback()

#对数据进行查找
print(cursor.execute('select * from myNew'))
print(cursor.fetchall())
'''
已经全部删除
0
()
'''

# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

执行事务 : 

    对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。

            commit()  方法游标的所有更新操作

            rollback()方法回滚当前游标的所有操作。每一个方法都开始了一个新的事务。

try:
   # 执行SQL语句
   cursor.execute(sql)
   # 向数据库提交
   db.commit()
except:
   # 发生错误时回滚
   db.rollback()
PCL 模型滤波器【2025最新版】 根据给定的模型系数在点云中提取对应于模型的点云数据。博客长期更新,本文最新更新时间为:2025年6月17日。 阅读详情

相关推荐

时间同步中 TOD 与GPRMC和IRIG-B的区别

时间同步中 TOD 与GPRMC和IRIG-B的区别

ftdlk的博客 1729

#详细说明# pymysql.cursorsde参数解析

在默认情况下cursor方法返回的是BaseCursor类型对象,BaseCursor类型对象在执行查询后每条记录的结果以列表(list)表示。 如果要返回字典(dict)表示的记录,就要设置cursorclass参数为MySQLdb.cursors.DictCursor类。 cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor) ...

lch551218的博客 8939

SeedVR2插件双版本共存实战:手把手教你创建幽灵节点解决ComfyUI兼容问题

本文详细介绍了解决ComfyUI中SeedVR2插件新旧版本兼容问题的实战方案。通过目录隔离实现双版本共存,并手把手教你创建‘幽灵节点’来模拟缺失的SeedVR2ExtraArgs节点,从而让旧工作流得以正常运行,同时享受新版本的功能与性能。

red88的博客 1407

【Python之pymysql库学习】二.游标cursor的相关知识(保姆级图文+实现代码)

【Python之pymysql库学习】二.游标cursor的相关知识(保姆级图文+实现代码)

MZH 5984

配置适合Gurobi的机器硬件环境需要考虑的因素

介绍了在为gurobi选择合适的硬件环境时,需要考虑三个方面的因素;

Linshaodan520的博客 1066

Parasoft C++Test软件单元测试_操作指南

本文主要为使用C++TEST进行单元测试的流程性操作讲解,后续文章将以专题形式进行详细讲解,以及用一些被测函数作为示例进行实例讲解。

文章主要涉及嵌入式软件开发、测试、项目管理等,欢迎交流,共同进步。 1578

Python中连接mysql数据库,并操作数据库

安装PyMySQL库 pip3 install PyMySQL pymysql.cursorsde参数的可选值如下: 类型 描述 Cursor 普通的游标对象,默认创建的游标对象 SSCursor 不缓存游标,主要用于当操作需要返回大量数据的时候 DictCursor 以字典的形式返回操作结果 SSDictCursor 不缓存游标,将结果以字典的形式进行返回 在默认情况下cursor方法返回的是BaseCursor类型对象,BaseCursor类型对

公子清羽的博客 1万+

STM32开发笔记85: SX1268驱动程序设计(芯片唤醒)

单片机型号:STM32L053R8T6 本系列开发日志,将详述SX1268驱动程序的整个设计过程,本篇介绍芯片唤醒驱动程序。 一、RxDutyCycle模式 在讲述本篇内容之前,我们先来看一下SX1268的一种模式RxDutyCycle,译为中文为接收占空比模式。其可使用SetRxDutyCycle命令进入RxDutyCycle模式,我们来看一下该命令的详细解释。 该命令具有2个参数,...

snmplink的博客 4068

pymysql模块

获取命令执行的查询结果。

m0_68716275的博客 1921

001、Zephyr RTOS简介与历史背景

本文介绍了Zephyr RTOS的特点及其在嵌入式开发中的应用。作者通过亲身经历比较了Zephyr与传统RTOS的差异,重点分析了Zephyr的设备树、统一驱动模型、基于CMake的构建系统、POSIX兼容层等核心特性。文章详细阐述了Zephyr在内核设计上的优势,如中断处理模型、内存管理等,并提供了社区生态和使用建议。作者建议开发者从简单项目入手逐步掌握Zephyr,同时指出了常见的使用问题和适用场景,认为Zephyr特别适合复杂软件架构的物联网和工业控制项目。

m0_50546716的博客 155

基于STM32的多功能旅行箱_329

随着智能硬件技术的不断发展,智能化产品逐渐渗透到日常生活的各个领域。旅行箱作为出行必需的工具,其传统功能已无法满足现代用户的需求,尤其是在安全性、便捷性和智能交互方面。为了解决这一问题,本设计基于STM32单片机开发了一款多功能智能旅行箱,集成了移动防盗报警、语音寻箱、GPS定位、称重检测、手势控制和蓝牙通信等多项功能。通过STM32F103RCT6主控芯片与HC-05蓝牙模块进行通信,结合海凌科V20语音识别模块、ATGM336H-5N GPS模块和HX711称重模块,提供了全方位的智能化体验。

484

python 与 mysql 连接(增删改查)

1、 查询数据库的某一张表 #!/usr/bin/python # -*- coding: UTF-8 -*- # 查询数据库的某一张表 import MySQLdb db = "" def mysql_conn(): global db try: # 打开数据库连接 db = MySQLdb.connect("localhost", "root", "dong2025", "mysql8", charset='utf8') #

Jack_2085 2074

【INMP441】 MEMS麦克风,让硬件“听得见”,更要“听得清”

INMP441是一款数字MEMS麦克风,采用PDM接口输出高质量数字音频信号。相比传统模拟麦克风,它具有高度集成、抗干扰强、功耗低等优势,支持通过时钟启停实现软件控制开关。该麦克风体积小巧但功能强大,内置MEMS传感器、ADC转换器等模块,适合智能音箱、语音遥控等应用。工程师可通过ESP32等主控芯片轻松连接INMP441,利用多麦克风阵列实现波束成形等高级功能。INMP441展现了数字音频采集的先进技术,为创客和智能硬件开发者提供了优秀的音频解决方案。

深耕CV 1537

Python中操作mysql的pymysql模块详解

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。

m0_72557783的博客 1278

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

python怎么安装pymysql_Python中操作mysql的pymysql模块详解

前言pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3.x版本。本文测试python版本:2.7.11。mysql版本:5.6.24一、安装pip3 install pymysql二、使用操作1、执行SQL#!/usr/bin/env pytho# -*- coding:utf-8 -*-import py...

weixin_39634876的博客 580

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

python pymysql_Python中操作mysql的pymysql模块详解

Python中操作mysql的pymysql模块详解前言pymsql是Python中操作MySQL的模块,pymysql支持python3.x。一、安装pip install pymysql二、使用操作1、执行SQL#!/usr/bin/env pytho# -*- coding:utf-8 -*-importpymysql# 创建连接conn =pymysql.connect(host='127...

weixin_39929595的博客 158

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

python操作mysql模块,Python操作MySQL:pymysql模块

连接MySQL有两个模块:mysqldb和pymysql,第一个在Python3.x上不能用,所以我们学pymysqlimport pymysql# 创建连接conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', password='mysql8', db='mysqltest')# 创建游标(光标)cursor = con...

weixin_28717431的博客 381

python自带的mysql模块_python操作mysql(一)原生模块pymysql

一、下载安装pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。下载安装C:\Users\Administrator>pip install pymysqlCollecting pymysqlDownloading PyMySQL-0.7.11-py2.py3-none-any.whl (78kB)38% |████████████▌ ...

weixin_33722350的博客 635

写出python的pymysql模块使用流程_Python中操作mysql的pymysql模块详解

前言pymsql是Python中操作MysqL的模块,其使用方法和MysqLdb几乎相同。但目前pyMysqL支持python3.x而后者不支持3.x版本。本文测试python版本:2.7.11。MysqL版本:5.6.24一、安装pip3 install pyMysqL二、使用操作1、执行sql#!/usr/bin/env pytho# -*- coding:utf-8 -*-import py...

weixin_42512613的博客 293

MySQL练习记录——利用Python的pymysql模块操作MySQL数据库

文章目录前言# 第一部分:数据库练习准备数据创建数据表插入数据SQL演练1. SQL语句的强化2. 创建"商品分类"表3. 同步表数据4. 创建“商品品牌表”表5. 同步数据6. 修改表结构7. 外键外键取消外键:其实在设计定义数据库的时候,就已经确定了要不要使用外键:比如下面的逻辑。8. 其实就是多创建一个表,然后从原来的表上使用外键进行关联:下面代码可以一次性复制粘贴进行联系# 第二部分:Python 操作 MySQL1. 初尝python与mysql交互2. pymysql查询数据库、面向对象3. p

杰之行的博客 3092

python使用pymysql模块操作mysql数据库

1、查看Python中是否安装好了pymysql模块 在Windows控制台输入pip list可以查看是否有pymysql模块,没有安装可以使用pip进行安装 pip install pymysql 2、连接数据库 import pymysql def db_connect(): # 打开数据库连接,参数分别为数据库地址、数据库用户名、密码、数据库名称 db...

qq_40981137的博客 765

Python3: mysql-connector 和 pymysql 模块 - MySQL 数据库操作

Python 连接 MySQL 数据库,可以使用 `mysql-connector` 或 `PyMySQL` 模块,使用其中一个即可。 1. mysql-connector 1.1 安装 mysql-connector 驱动,连接数据库 mysql-connector模块是 MySQL 官方提供的连接器,使用 pip 安装模块: $ python3 -m pip install mysql-connector 也可以从 MySQL 官网下载安装: https://www.mysql.com/cn/produ

谢TS的博客 6912

python中的pymysql_(转)Python中操作mysql的pymysql模块详解

原文:https://www.cnblogs.com/wt11/p/6141225.htmlhttps://shockerli.net/post/python3-pymysql/----Python 3 进阶 —— 使用 PyMySQL 操作 MySQL前言pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。但目前pymysql支持python3.x而后者不支持3...

weixin_39559277的博客 82

python在线操作MySQL数据库,通过pymysql模块

python对数据库进行操作 目前python数据库接口支持很多类型的数据库,具体可查看python数据库接口及API查看支持的类型列表。 所有类型数据库都可通过相同的方式进行操作: 1.引入 API 模块。 2.获取与数据库的连接。 3.执行SQL语句和存储过程。 4.关闭数据库连接。 本次主要通过MySQL类型数据库讲解 一.引入pymysql模块:(MySQLdb模块也可以) 该模块需要自己事先安装 import pymysql 二.连接数据库: #1,建立连接:数据库的连接信息: host =

saber_sss的博客 537
上一篇: MySQL:事务,备份,恢复...
下一篇: python--web框架:Django
Hao_python
博客等级 码龄9年 5粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值