python PyMysql

【Python】PyMySQL 在我们敲下 这行代码之前,一个至关重要的问题摆在面前:当 Python 程序需要与一个远在网络另一端、甚至就在本地的 MySQL 服务器对话时,它们之间究竟发生了什么?这并非魔法,而是一套严谨、高效、历经考验的二进制通信协议在起作用。理解这套协议,就如同拥有了透视眼,能看穿 这类库的优雅封装,直达其工作的本质。本章的使命,就是剥去所有高级抽象的外壳,使用最原始的 Python 网络套接字(Socket)工具,手动模拟客户端与服务器的通信过程,让你从零开始,亲手构建起连接的桥梁。在数据库的世界里,客户端- 阅读详情
# coding=gbk
import pymysql
import threading

lock = threading.Lock()

class Db():
    def __init__(self):
        self.conn = pymysql.connect(host='localhost',port=3306,charset='utf8',user='root',password='123',cursorclass=pymysql.cursors.DictCursor,database='p9pro')
        self.cursor = self.conn.cursor()
    # 添加 删除 修改
    def update(self,sql):
        try:
            # 检查连接是否断开,如果断开就进行重连
            self.conn.ping(reconnect=True)
            # 使用 execute() 执行sql
            self.cursor.execute(sql)
            # 提交事务
            self.conn.commit()
            return self.cursor.lastrowid
        except Exception as e:
            print("操作出现错误:{}".format(e))
            # 回滚所有更改
            self.conn.rollback()

    # 找多个
    def find_all(self, sql):

        lock.acquire()
        self.cursor.execute(sql)
        self.conn.ping(reconnect=True)
        lock.release()
        res = self.cursor.fetchall()
        return res

    # 找单个
    def find(self,sql):
        # 检查连接是否断开,如果断开就进行重连
        lock.acquire()
        self.cursor.execute(sql)
        self.conn.ping(reconnect=True)
        lock.release()
        res = self.cursor.fetchone()
        return res
    
    # 执行sql语句  但是不会提交到数据库
    def add(self,sql):
        self.cursor.execute(sql)
    # 提交sql语句
    def commit(self):
        self.conn.commit()
    # 回滚 如果一堆数据 如果一个错误 全部不执行
    def rollback(self):
        self.conn.rollback()

    def __del__(self):
        self.cursor.close()
        self.conn.close()

db1 = Db()

Python 操作 pymysql 批量 增、删、改、查 github:https://github.com/PyMySQL/PyMySQL Python3 MySQL 数据库连接 - PyMySQL 驱动:https://www.runoob.com/python3/python3-mysql.html pymysql 是线程安全的( 搜索 thread,可以看到 thread_safe=1,同时函数 t... 阅读详情

相关推荐

python3 安装pymysql连接模块

在使用 PyMySQL 之前,我们需要确保 PyMySQL 已安装。 PyMySQL 下载地址:https://github.com/PyMySQL/PyMySQL。 如果还未安装,我们可以使用以下命令安装最新版的 PyMySQL: $ pip install PyMySQL 如果你的系统不支持 pip 命令,可以使用以下方式安装: 1、使用 git 命令下载安装包安装(你也可以手动下载

qq_25318569的博客 2743

python常用库总结(I)

python常用库总结 1.OS 操作系统 用于对操作系统进行操作,使用该模块必须先导入模块:import os 1、获取当前路径:os.getcwd() 2、改变当前路径:os.chdir(path) 3、返回当前目录、返回当前目录的父目录:os.curdir();os.pardir() 4、递归创建目录os.makedirs(path) 5、删除一个文件:os.remove() 6、列出指定目...

weixin_43840186的博客 720

PyQt5连接MySQL数据库(教程+案例)

在PyQt5中其实连接MySQL数据库的方法还是很多的,写法方法都不太一样,本篇文章将交给大家如何使用pymysql进行连接,本节课将通过实际案例让大家学习了解如何对数据库进行增删改查!我个人认为:我一步一步教你怎么用,不如教你如何实战,用实战来学习理论会比为了实践而学习理论更透彻!我使用的Navicat Premium 对数据库进行操作,windows有免费的破解版(还挺好的也挺稳定的),Mac建议买正版吧...要不然老闪退(别问我咋知道的。。。哭死)

weixin_60962920的博客 8707

python类操作数据库

导致这个错误的原因是通过pymysql 连接数据库没有重连机制,当连接时间超过了数据库设置的 wait_timeout ,mysql会断开连接,当加上 self.conn.ping(reconnect=True) 时pymysql 会检查连接是否存在,断开的话会重连。原因是没有断开数据库连接而超过了数据库的最大连接数,此时当你用命令查看3306 端口的占用情况会发现大量的 TIME_WAIT 连接。因为当使用函数连接数据库时,短时间连接是没有问题的但长时间连接会报。首先说一下为什么要用类操作数据库。

m0_54219225的博客 696

win10系统下使用Mask_Rcnn训练自己的数据

版权所有,翻版必究。https://mp.csdn.net/console/editor/html/106094147 运行环境:WIN10,pycharm,相应的CUDA,CUDNN,tensorflow1.15.0,tensorflow-gpu-1.14.0,Anaconda3 第一步:Mask RCNN开源项目:https://github.com/matterport/Mask_RCNN 第一步:数据准备 首先安装labelme进行数据的标注。安装方法pip install labe

fightingxyz的博客 1750

Synopsys工具链实战:如何用VCS、DC、ICC和Calibre跑通你的第一个数字IC设计项目?

本文详细介绍了如何使用Synopsys工具链(VCS、Design Compiler、ICC和Calibre)完成数字IC设计项目,从RTL代码到GDSII版图的全流程。涵盖环境配置、RTL设计验证、逻辑综合、物理实现及签核验证等关键步骤,帮助工程师掌握高效的数字IC设计流程。

weixin_42525005的博客 198

python connect mysql

11

MusicDancing的博客 720

从原理到调试:一次搞懂Camera Sensor的曝光、增益与帧率三角关系

本文深入解析Camera Sensor中曝光、增益与帧率之间的动态平衡关系,揭示低光环境下帧率下降的根本原因。通过实际调试案例和底层公式分析,帮助开发者理解如何优化相机参数设置,实现画质与流畅度的最佳平衡。

weixin_31310913的博客 432

Pymysql之Connection中常用API

{'id': 1, 'user': '小明', 'passwd': '123'}, {'id': 2, 'user': '小刚', 'passwd': '123'}, {'id': 3, 'user': '小红',{'id': 4, 'user': '葫芦娃', 'passwd': '123'}, {'id': 5, 'user': '小明', 'passwd': '123'}]6、commit():提交请求,当向数据库中插入数据时,需要使用commit()进行提交,否则数据将不能写入数据库。

hakesashou的博客 1567

Android逆向实战:用Xposed Hook微信消息发送(附完整代码)

本文提供了一份Android逆向实战指南,详细讲解如何使用Xposed框架Hook微信消息发送功能。内容涵盖环境搭建、逆向分析定位关键方法、编写Hook模块代码以及调试部署的全过程,并附有完整代码示例,帮助开发者深入理解Android应用底层交互与Hook技术。

weixin_29196315的博客 1120

第133章 PCL OrientedBoundingBox 有向包围盒

中文叫有向包围盒,是一种旋转过的包围盒。特点:不像AABB那样固定朝向坐标轴能更紧密地包裹物体适用于复杂姿态的物体,比如倾斜、旋转的物体通常通过PCA、惯性矩等算法确定方向。

yumeiguo的博客 265

python2安装pymysql_Python安装PyMySQL

一、首先确定当前pthon版本C:\Users\10937>python -VPython 3.7.1二、确定你本地pip是否已安装C:\Users\10937>pipUsage:pip [options]Commands:install Install packages.download Download...

weixin_39829236的博客 1780

DSP开发环境及工具之CCS

CCS( Code Composer Studio)是美国德州仪器(TI)公司的嵌入式处理器的开发环境,可以用于TI公司的各个系列处理器的软件开发和调试,如DSP,MCU,ARM等。CMD的专业名称叫链接器配置文件,是存放链接器的配置信息的,我们简称为命令文件。从其名称可以看出,该文件的作用是指明如何链接程序的。编辑完C语言设置,添加cmd文件之后,然后检查编译配置选项。主要的操作都是在这个窗口之间做相应的切换。

小柚子的博客 4313

python怎么安装pymysql_Python安装PyMySQL插件

一、首先确定当前pthon版本C:\Users\10937>python -VPython 3.7.1二、确定你本地pip是否已安装C:\Users\10937>pipUsage:pip [options]Commands:install Install packages.download Download packa...

weixin_39723010的博客 530

Flow Matching05:概率路径与插值【概率路径:线性插值路径(最简单)、高斯插值路径】【先尝试线性插值,看效果如何;若不够好,尝试高斯插值】

好的,我将从数学角度详细解释Flow Matching,从高中生能理解的基础知识开始,逐步深入到高级概念。

u013250861的博客 174

Arduino ESP32S3开发环境搭建 ------ 在线下载安装包Failed解决方案

本文介绍了Arduino ESP32 S3开发环境搭建的离线解决方案。

张一西的博客 1019

python3安装pymysql_python3中安装PyMySQL模块

一、Python3中安装PyMySQL模块,本章节我们将向大家介绍如何在本地搭建python开发环境。Python可应用于多平台包括 Linux 和 Mac OS X。你可以通过终端窗口输入 "python" 命令来查看本地是否已经安装Python以及Python的安装版本。其实,PyMySQL该软件包包含一个纯Python MySQL客户端库。PyMySQL的目标是成为MySQLdb的替代品,并...

weixin_39721009的博客 1460

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python怎么安装pymysql_Python 之 PyMySQL 安装和使用

Python具有内置的SQLite支持。 在本节中,我们将学习使用MySQL的相关概念和知识。 在早期Python版本一般都使用MySQLdb模块,但这个MySQL的流行接口与Python 3不兼容。因此,在教程中将使用PyMySQL模块。1.什么是PyMySQL?PyMySQL是从Python连接到MySQL数据库服务器的接口。 它实现了Python数据库API v2.0,并包含一个纯Pytho...

weixin_39607423的博客 2009

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

python提示没有找到pymysql_python3 pymysql

介绍PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。安装pip install pymysql本地数据库操作mysql> create database mydb1;#Query OK, 1 r...

weixin_30089411的博客 1398

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

MySQLdb、Mysqlclient、PyMySQL 三个python的MySQL库的比较和总结

一.MySQLdb 1.介绍 MySQLdb又叫MySQL-python ,是 Python 连接 MySQL 的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,而且安装的时候有很多前置条件,因为它是基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代的是它的衍生版本。 2.安装 由于本机是python3.6的环境,无法直接安装MySQLdb,因此选择放弃。但可以考虑装 Mysqlclient。 3.使用 资料传送门

weixin_48943299的博客 2万+

Python-PyMySQL详解

PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。PyMySQL Github地址。

大河之犬的博客 2万+

Python操作mysql库【PyMysql】

PyMySQL 是一个纯 Python 实现的 MySQL 客户端库,允许 Python 开发者使用 Python 代码操作 MySQL 数据库。它旨在完全兼容 MySQLdb,这意味着它尝试以一种对用户来说尽可能透明和一致的方式模拟 MySQLdb 的API和行为。

weixin_63304209的博客 1116

python3安装pymysql_python安装PyMySQL

官网操作教程:http://www.runoob.com/python3/python3-mysql.html1、简介PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。2、PyMySQL安装在使用 Py...

weixin_39608509的博客 221

Python 操作Mysql(PyMysql)

Python 操作Mysql(PyMysql)

Charge8的博客 4702

mac下python3、PyMySQL

修改mac默认python版本 为python3 mac一般自带python2.7,使用如下命令安装python3 brew install python3 python3安装成功。 执行命令:vi ~/.bash_profile ,插入一下两行(可通过which python3查找python3的安装路径) # 添加这一行 alias python="/usr/local/bin...

haiyang5233233的专栏 807

python怎么安装pymysql_python安装PyMySQL

1确定Python版本 和 scripts目录下有pip.exe运行- cmd (管理员) – 进入后输入: python 确定版本指定到python下scripts目录下,然后输入 pip 确认 是否已安装 pip,(一般是已经安装的)2pip安装 PyMySQL3案例:连接数据库并执行查询import datetimeimport pymysql.cursors# 连接配置信息config...

weixin_29470121的博客 1501
上一篇: vue3创建
下一篇: python 封装 redis
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值