PyMySQL 使用笔记

Python 连接 mysql 详解(mysql-connector-python) Python 连接 mysql 详解 阅读详情

标签: 数据库 python


connections 模块

类:Connection

  • 用法:执行 pymysql.connect() 得到。而不是构造函数 Connection()。
  • pymysql.connect() 的参数即为 Connection() 构造函数的参数。
  • 构造函数:
pymysql.connections.Connection(self,
    host=None,          # 要连接的主机地址
    user=None,          # 用于登录的数据库用户
    password='',        # 密码
    database=None,      # 要连接的数据库
    port=0,             # 端口,一般为 3306
    unix_socket=None,   # 选择是否要用unix_socket而不是TCP/IP
    charset='',         # 字符编码
    sql_mode=None,      # Default SQL_MODE to use.
    read_default_file=None, # 从默认配置文件(my.ini或my.cnf)中读取参数
    conv=None,          # 转换字典
    use_unicode=None,   # 是否使用 unicode 编码
    client_flag=0,      # Custom flags to send to MySQL. Find potential values in constants.CLIENT.
    cursorclass=<class 'pymysql.cursors.Cursor'>, # 选择 Cursor 类型
    init_command=None,  # 连接建立时运行的初始语句 
    connect_timeout=10, # 连接超时时间,(default: 10, min: 1, max: 31536000)
    ssl=None,           # A dict of arguments similar to mysql_ssl_set()'s parameters.For now the capath and cipher arguments are not supported. 
    read_default_group=None, # Group to read from in the configuration file.
    compress=None,      # 不支持
    named_pipe=None,    # 不支持
    no_delay=None,      # 
    autocommit=False,   # 是否自动提交事务
    db=None,            # 同 database,为了兼容 MySQLdb
    passwd=None,        # 同 password,为了兼容 MySQLdb
    local_infile=False, # 是否允许载入本地文件
    max_allowed_packet=16777216, # 限制 `LOCAL DATA INFILE` 大小
    defer_connect=False, # Don't explicitly connect on contruction - wait for connect call.
    auth_plugin_map={}, #
    read_timeout=None,  # 
    write_timeout=None, 
    bind_address=None   # 当客户有多个网络接口,指定一个连接到主机
    )
  • 重要函数
函数说明
cursor(cursor = None)创建一个游标
commit()事务提交,如果没有设为自动提交,则每次操作后必须提交事务,否则操作无效。
rollback()操作出错时,可以用这个函数回滚到执行事务之前
close()关闭连接

- 一个例子

import pymysql.cursors

config = {
          'host':'127.0.0.1',
          'port':3306,
          'user':'root',
          'password':'xinxin2333',
          'database':'trade_ms',
          'charset':'utf8mb4',
          'cursorclass':pymysql.cursors.Cursor,
          }

# 连接数据库
connection = pymysql.connect(**config)

cursors 模块

类 : Cursor

  • 使用 connections.Connection.cursor() 得到,而不是这个类的构造函数。
  • connections.Connection.cursor()的参数是 cursor 的类型。
  • 重要函数
函数说明
callproc(procname, args=())执行一个过程
execute(query,args=None)执行一条SQL语句,返回受影响的行数。若args是列表,用%s做占位符,若是字典,用%(name)s
executemany(query,args)对一个操作运行多个数据,如一次插入多条数据
fetchall()取出操作返回的所有的行
fetchone()取出一行
fetchmany(size=None)取出 size 行
close()关闭这个游标对象

- 游标类型

类名说明
Cursor默认类型,查询返回list
DictCursor与Cursor不同的地方是,查询返回dict,包括属性名
SSCursor查询不会返回所有的行,而是按需求返回
SSDictCursor差别同前两个
  • 举例说明
#Cursor 查询返回
(10000, 't恤男短袖', 28, Decimal('89.00'), 300) 
#DictCursor 查询返回
{'cid': 10000, 'cname': 't恤男短袖', 'claid': 28, 'price': Decimal('89.00'), 'cnum': 300}
  • 一个例子
#!python3
#-*- coding: utf-8 -*-

import pymysql.cursors      # 好像import这个模块就可以了

config = {
          'host':'127.0.0.1',
          'port':3306,
          'user':'root',
          'password':'xinxin2333',
          'database':'trade_ms',
          'charset':'utf8mb4',
          'cursorclass':pymysql.cursors.Cursor,
          }

connection = pymysql.connect(**config)  # 连接数据库

try:
    with connection.cursor() as cursor:
        sql = 'SELECT * FROM commodity WHERE price > 100 ORDER BY price'
        count = cursor.execute(sql) # 影响的行数
        print(count)
        result = cursor.fetchall()  # 取出所有行

        for i in result:            # 打印结果
            print(i)
        connection.commit()         # 提交事务
except:
    connection.rollback()           # 若出错了,则回滚

finally:
    connection.close()
使用pymysql模块连接MySQL实现增删改查 MySQL 是最流行的数据库之一,也是目前世界上最流行的开源关系数据库,大多应用于互联网行业。比如,在国内,大家所熟知的百度、腾讯、淘宝、京东、网易、新浪等,国外的 Google、Facebook、Twitter、GitHub 等都在使用 MySQL。社交、电商、游戏的核心存储往往也是 MySQL,本文就简单的介绍python操作MySQL增删改查基础内容。 阅读详情

相关推荐

python-mysql.zip_MYSQL_pymysql_python MySQL_python连接mysql_连接数据库

用于python3连接mysql数据库,需要安装第三包pymysql来实现。

Python之PyMySQL模块

进行增删改时注意提交事务`conn.commit

AZURE060606的博客 5147

【学习K230-例程46】GT6700-UVC摄像头

UVC模块提供了USB摄像头的检测、配置和图像采集功能,支持单摄像头操作。本实验通过开发板上的USB接口连接摄像头,将摄像头捕获到的画面显示在显示设备上。print(f"模式{i}: {mode.width}x{mode.height} {mode.format}@{mode.fps}fps")print(f"摄像头检测: {‘已连接’ if plugin else ‘未连接’}, 设备信息: {devinfo}")检测系统是否连接了USB摄像头(当前仅支持单个摄像头检测)。获取摄像头支持的所有视频模式。

GilgameshJSS的博客 806

Python实现MySQL数据库连接---pymysql

利用Python连接数据库进行数据存储。

两个月亮 5698

HFSS简要教程--无线能量传输线圈仿真

关于无限能量传输线圈仿真简要教程

asdmoon18的博客 2546

pymysql笔记1

pymysql的初步进入体验

qq_65098563的博客 170

Windows Server 2016上,手把手教你搭建MDT 8456自动化部署环境(含ADK 2004与WDS配置)

本文详细指导在Windows Server 2016上搭建MDT 8456自动化部署环境,涵盖ADK 2004与WDS配置全流程。通过标准化操作系统部署、应用程序静默安装和驱动程序注入,实现企业级自动化部署解决方案,显著提升IT运维效率。特别针对兼容性问题和权限陷阱提供实战解决方案。

weixin_29876033的博客 385

pymysql笔记

安装库 pip install pymysql 加粗样式 import pymysql 连接数据库 import pymysql DBHOST = '127.0.0.1' DBUSER = 'root' DBPASS = ''#密码 DBNAME = 'name_list' try: db = pymysql.connect(host=DBHOST,user=DBUSER, password=DBPASS, database=DBNAME) print('数据库连接成功!') exce

qq_52660776的博客 323

【定位模块项目实战】gnss_localizer、lidar_localizer功能包解析

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言一、1.2.3.4.二、1.2.3.4.三、1.2.3.4.四、1.2.3.4.总结参考资料 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对**【无人驾驶autoware项目实战】感知–定位模块**做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 一、 1. 2. 3. 4. . . 二、

qq_35635374的博客 1931

31、航空软件标准DO - 178C/ED - 12C的实践解读

本文深入解读了航空软件标准DO-178C/ED-12C相较于DO-178B的主要变化,涵盖核心文本更新、各章节关键改进及新技术补充文件的影响。重点分析了目标与活动关系、需求层级定义、验证独立性、MC/DC覆盖、停用代码处理等关键变更,并提供了应对策略,包括流程调整、文档更新、工具选择和与认证机构沟通等建议,旨在帮助航空软件开发者确保合规性,提升软件安全性与可靠性。

tech5的博客 244

笔记-Python之pymysql的使用

在python3.x中,可以使用pymysql来MySQL数据库的连接,并实现数据库的各种操作,本次博客主要介绍了pymysql的安装和使用方法。第一个值为移动的行数,整数为向下移动,负数为向上移动,mode指定了是相对当前位置移动,还是相对于首行移动。commit()方法:在数据库里增、删、改的时候,必须要进行提交,否则插入的数据不生效。可以看到,第二次获取的时候,什么数据都没有获取到,这个类似于文件的读取操作。fetchone():获取下一行数据,第一次为首行;fetchall():获取所有行数据源。

零正催照 1232

Windows上MSYS2的安装和使用

MSYS2这个工具我是越用越喜欢,很多东西放在Linux上如鱼得水但是放在Windows上就没那么好用,比如ffmpeg,opencv等直接引用就行了,这个工具真的很省事。接下来带你们看看它的妙用。1、好好研究确实妙用无穷。

jiexijihe945的博客 4141

笔记七Python pymysql的基本使用

pymysql的基本使用提示:以下是本篇文章正文内容,下面案例可供参考。

丿红叶丶 475

Pointnet++改进91:2025最新改进模块-RepMBConv模块

本文提出了一种改进PointNet++网络的方法,通过在特征提取模块中引入RepMBConv结构来提升模型性能。主要内容包括:1)理论部分介绍了RepMBConv的设计原理,包含自监督学习框架、动态上下文建模等创新点;2)详细给出了三步修改步骤:创建包含RepMBConv的Python模块、在pointnet2_utils.py中添加注意力机制、修改pointnet2_sem_seg.py主网络结构;3)代码实现展示了如何将RepMBConv集成到PointNetSetAbstraction模块中,形成Po

AIcurator的博客 274

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

PyMySQL笔记

python连接mysql 一. 安装pymysql sudo pip install pymysql 设置编码格式, 引入MySQL接口module #!/usr/bin/python # 设置编码格式为utf-8 # -*-coding=utf-8-*- # 或者 # _*_ codin...

chuanguan1820的博客 172

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

PyMySQL数据存储笔记

本文介绍了使用PyMySQL库将爬虫数据存储到MySQL数据库的方法。主要内容包括:PyMySQL的安装与基本使用步骤(创建连接、获取游标、执行SQL、提交事务);关键对象的方法说明(connect和cursor对象);MySQL表操作实践(创建表、增删改查数据);以及两个实战案例(豆瓣图书和安居客二手房信息爬取)。重点强调了动态字段处理、批量操作优化和事务管理等技巧,为Python开发者提供了完整的关系型数据库操作指南。

2402_88703635的博客 971

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

efm32 入门.pdf

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

【pymysq】python之pymysql学习笔记

一、简介与安装 1.1 简介: PyMySQL是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,用来对mysql数据库进行操作。 1.2 安装:使用pip方式进行安装,输入以下命令 pip3 install pymysql 二、使用mysql进行增、删、改、查 2.1 对mysql进行增、删、改操作 需求如下,增加第5条记录,修改第三条记录,删除第四条记录,如图 im...

weixin_45589713的博客 530

python操作pymysql_python3操作PyMySQL笔记

python3操作mysql需要先安装PyMySQLpip install PyMySQL在linux登录mysql,并且在安装数据库时设置了数据库的用户名“root”和密码“root”,mysql安装的版本为mysql5.7[root@web ~]# mysql -uroot -p -h192.168.10.100在mysql里面创建一个mysql库mysql> create datab...

weixin_39800990的博客 261

pymysql的使用(笔记)

pymysql的使用(笔记) 首先,连接数据库: import pymysql def conn_db(): # 连接数据库函数 conn = pymysql.connect( host='localhost', user='root', passwd='root', db='swjtu_z16', charset='utf8mb4') cur = conn.cursor() return conn,

小猴子的博客 182

PyMysql整理笔记

PyMySQL笔记0518 我们理解您需要更便捷更高效的工具记录思想,整理笔记、知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 —— 我们为记录思想和分享知识提供更专业的工具。 您可以使用 Cmd Markdown: 整理知识,学习笔记 发布日记,杂文,所见所想 撰写发布技术文稿(代码支持) 撰写发布学术论文(LaTeX 公式支持) ...

qq_42379006的博客 1154

pymysql自学笔记

一、MySQL的驱动库 MySQLdb 最有名的库。支持Python 2,但不支持Python3 pymysql 语法兼容MySQLdb,使用Python写的库,支持Python 3 二、导入库 import pymysql 三、一般流程 -1. 建立连接 2.获取游标 3. 执行SQL 4.提交事务 5.释放资源 (一)建立连接 pymsql.c...

fengzhidu_python的博客 354

PyMySQL 数据存储笔记

Python 操作 MySQL 的库,实现了 Python DB API v2.0。Python3 中替代 MySQLdb 的库。纯 Python 实现的 MySQL 客户端。使用 try-except 确保数据一致性。port: 端口(默认3306)charset: 字符编码。默认开启事务,需要显式提交。password: 密码。host: 数据库地址。

2301_76437951的博客 210

pyMySQL学习笔记

pymysql

cxy2002cxy的博客 377
上一篇: 计算机网络 自顶向下方法 第三章 运输层
下一篇: 李宏毅机器学习笔记-6 深度学习简介(Brief Introduction of Deep Learning)
MemoryD
博客等级 码龄10年 64粉丝 43原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值