Python酷玩之旅_mysql-connector
前言
Python作为数据科学、机器学习等领域的必选武器,备受各界人士的喜爱。当你面对不同类型、存储于各类介质的数据时,第一时间是不是要让它亮个相?做个统计,画个图表,搞个报表… 等等。
正如Java中的JdbcDriver一样,Python中也有同样角色的库。比如今天博主正要介绍的mysql-connector-python,它是Python中操作数据库的常用工具,我们先从它说起吧,Let’s go~

一、mysql-connector-python
1. 简介
Python中连接mysql有各种工具支持,博主推荐使用mysql-connector-python,它是MySQL官方提供的标准工具,依赖少,查询方便。
2. 安装
在python中安装mysql-connector-python很简单,只需执行如下命令:
# 使用清华源pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple mysql-connector-python
安装过程:

安装结果:

二、数据操作教程(源码)
安装mysql-connector-python完成后,我们可以尽情的玩耍玩耍,先来看看如何连接。
1. 创建连接
我们可通过mysql.connector.connect创建连接,示例代码:
connection = mysql.connector.connect(host=[HOST_NAME],user=[USERNAME],passwd=[PASSWORD],database=[DATABASE]
)
其中,它支持哪些参数,我们来看看:
| 参数 | 说明 |
|---|---|
| host | 数据库主机IP |
| port | 数据库端口,默认3306 |
| user | 数据库用户 |
| password | 数据库密码 |
| database | 数据库名称 |
| autocommit | 是否自动提交事务,默认为False |
| charset | 字符编码 |
| pool_name | 连接池名称 |
| pool_size | 连接池大小 |
2. 查询
创建连接后,先做一个查询吧(代码已封装,请参考执行):
import mysql.connector
from mysql.connector import Errorclass MysqlUtil:def __init__(self, host_name, user_name, passwd, db_name):self.host_name = host_nameself.user_name = user_nameself.passwd = passwdself.db_name = db_namedef get_connection(self):connection = Nonetry:connection = mysql.connector.connect(host=self.host_name,user=self.user_name,passwd=self.passwd,database=self.db_name)print("恭喜你,成功连接MySQL")except Error as e:print(f"异常啦,原因: '{e}'")return connectiondef query(self,conn, sql):try:cursor = conn.cursor()cursor.execute(sql)return cursorexcept Error as e:print(f"异常啦,原因: '{e}'")if __name__ == '__main__':# 连接信息host = '127.0.0.1'user = 'root'password = '123456'database = 'mysql'# 创建连接mysql_util = MysqlUtil(host, user, password, database)conn = mysql_util.get_connection()# 查询sql = 'select * from 表名'my_cursor = mysql_util.query(conn, sql)result = my_cursor.fetchall()print(f'查询记录数:{len(result)}')# 关闭游标my_cursor.close()# 关闭连接conn.close()
提示:查询完成后,一定要关闭游标和连接。
3. 新增
新增记录时,可在查询源码的基础上,封装一个insert函数:
# 插入记录
def insert(self, conn, sql, val):try:cursor = conn.cursor()cursor.execute(sql,val)return cursorexcept Error as e:print(f"异常啦,原因: '{e}'")
在main函数中,进行测试:
# 创建连接
mysql_util = MysqlUtil(host, user, password, database)
conn = mysql_util.get_connection()# SQL
sql = "INSERT INTO 表名(id,name) VALUES (%s, %s)"
val = ('1','python')
mysql_util.insert(conn,sql, val)# 提交
conn.commit()
# 关闭连接
conn.close()
4. 删除
同理,删除我们也可以封装一个delete函数,因为和insert类似,这里不再呈现。只需调整执行的SQL即可:
# SQL
sql = "delete from 表名 where name=%s"
val = ('python',)
5. 事务
在创建游标前,我们可以主动开启一个事务:
conn = mysql_util.get_connection()
# 开始事务
conn.start_transaction()
""" 数据操作 """
最后一步很重要,一定要提交哦:
# 提交事务
conn.commit()
6. 其他
其他场景比如按条件查询,删除表,清空表等操作,均可通过改变SQL的方式,执行相关数据操作。这里不再一一罗列,是不是很简单?
结语
mysql-connector-python是一款mysql官方支持的数据库工具,博主通过示例呈现了它的能力和优势,希望对你有帮助。
走过的、路过的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~

相关文章:
Python酷玩之旅_mysql-connector
前言 Python作为数据科学、机器学习等领域的必选武器,备受各界人士的喜爱。当你面对不同类型、存储于各类介质的数据时,第一时间是不是要让它亮个相?做个统计,画个图表,搞个报表… 等等。 正如Java中的JdbcDriver一样…...
7.搭建个人金融数据库之快速获取股票列表和基本信息!
前边我们提过,免费的数据一般来自于爬虫,获取难度和维护成本都比较高,其实不太适合小白用户。所以非必要情况下,我们尽量不用这种方式来获取数据。 我自己用的比较多的是tushare,一般来说有它也就够了,大…...
Nginx基础详解1(单体部署与集群部署、负载均衡、正反代理、nginx安装)
本阶段的任务 1.学会集群的操作概念 2.完成对Nginx的入门操作 3.使用Nginx实现集群和负载均衡 4.使用Nginx实现高可用的方案 目录 1.单体部署与集群部署 1.1单体部署的概念 1.2单体部署的优缺点 1.3集群部署的概念 1.4集群部署的优缺点 1.5集群部署需要注意的点 1.…...
等保一体机如何帮你应对网络攻击
等保一体机如何帮你应对网络攻击 在当今信息化时代,网络安全已成为企业和组织面临的重要挑战。随着网络攻击手段的不断升级,传统的安全防护措施已难以应对复杂多变的威胁。等保一体机作为一种集成化的安全防护解决方案,能够有效帮助企业应对…...
CVE-2024-1112 Resource Hacker 缓冲区溢出分析
漏洞简述 CVE-2024-1112 是 Resource Hacker 软件的一个缓冲区溢出漏洞。该漏洞存在于版本 3.6.0.92 中。由于软件在处理命令行中的文件路径时未对文件字符串长度进行限制,过长的字符串参数导致内存被过度写入,从而引发缓冲区溢出。 漏洞复现 构造长度…...
WebGL渲染与创建2D内容
目录 创建画布2D渲染修改顶点着色器光照深度测试混合模式WebGL是一个强大的工具,可以用来在Web浏览器中创建复杂的3D图形。虽然它的设计初衷是为了3D渲染,但也可以用于创建2D内容。通过巧妙地利用几何、投影和纹理,我们可以构建出各种2D图形。 创建画布 首先,我们需要在H…...
ArcGIS Desktop使用入门(三)图层右键工具——拓扑(下篇:地理数据库拓扑)
系列文章目录 ArcGIS Desktop使用入门(一)软件初认识 ArcGIS Desktop使用入门(二)常用工具条——标准工具 ArcGIS Desktop使用入门(二)常用工具条——编辑器 ArcGIS Desktop使用入门(二&#x…...
LeetCode题练习与总结:二叉树的最近公共祖先--236
一、题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也…...
uni-app 多环境配置
前后端分离模式下,不同的环境如开发环境(dev)、测试环境(test)、生产环境(prod)等,不同环境后端数据库、api地址等可能都不同 。 uni-app中只有development和production两个环境 以配…...
【d48】【Java】【力扣】LCR 123. 图书整理 I
思路 方法1:放进list,将list倒置,利用stream,将list改为int类型 方法2:递归:递归通用思路;明确每一层做什么确定返回值确定什么地方接收下层的返回值 每一层:调用下层,然后把自己…...
【MySQL】InnoDB 索引为什么使用B+树而不用跳表?
在MySQL中,为了加速查询,使用B树来构建索引,将查询性能从O(n)优化到O(log n)。虽然跳表同样提供O(log n)的查询效率并且实现相对简单,但B树更适合MySQL的索引使用,原因包括: B树和跳表的区别 B树和跳表的…...
【学习笔记】TLS/SSL握手之Records
TLS / SSL会话是由记录(Records)所组成,有4种records HandshakeAlertChange Cipher SpecApplication DataHandshake和Alert Records被分为子类型(Subtypes): Handshake:Client HelloHandshake&a…...
【MySQL】创建新账号新数据库并授权
在 MySQL 中创建一个名为 new_user 的用户,并设置密码为 new_pass,然后创建一个名为 new_db 的数据库,并将该数据库的所有权限授予 new_user 用户。 登录 MySQL: mysql -u root -p创建用户: CREATE USER new_userlo…...
Nginx反向代理简介,作用及配置;Nginx负载均衡简介,作用及配置;
一,Nginx反向代理 1.1简介 反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的…...
SAP MIGO M7146不支持移动原因
移动类型 Z91 查看配置:Z91 匹配的原因没有921 倒是Z92的原因里面有921 那解决方案有2种,但是要根据具体业务要求来 1、审视一下是否移动原因用错了 ?换一个移动原因 2、确实是这个移动类型 要用到这个移动原因 ,那就在上图 移…...
vue使用PDF.JS踩的坑--部署到服务器上显示pdf.mjs viewer.mjs找不到资源
之前项目使用的pdf.js 是2.15.349版本,最近换了一个4.6.82的版本,在本地上浏览文件运行的好好的,但是发布到服务器(IIS)上打不开文件,控制台提示找不到pdf.mjs viewer.mjs。 之前使用的2.15.349pdf和viewer…...
重型工程车辆数据集
重型工程车辆数据集,内含Bull_dozer(推土机), Dumb_truck(卡车), Excavator(挖掘机), Grader(平地机), Loader(转载机), Mobile_crane(…...
【Kubernetes】常见面试题汇总(三十三)
目录 85.简述 kube-proxy 的三种工作模式和原理。 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)” 。 题目 69-113 属于【Kubernetes】的生产应用题。 85.简述 kub…...
ubuntu安装无线网卡驱动(非虚拟机版)
本文不是基于虚拟机,是双系统 太夸张了 实验室居然没网线 只有一个师兄留下来的无线网卡 装完了ubuntu结果没网 make都用不了 然后搜了下大概发现是没有预装gcc和make 参考如下 https://zhuanlan.zhihu.com/p/466440088 https://wwsk.lanzouj.com/iAj4t2ao46zc…...
保障电气安全的电气火灾监控系统主要组成有哪些?
电气火灾是什么? 电气火灾一般是指由于电气线路、用电设备、器具以及供配电设备出现故障性释放的热能:如高温、电弧、电火花以及非故障性释放的能量;如电热器具的炽热表面,在具备燃烧条件下引燃本体或其他可燃物而造成的火灾&…...
ncmdump项目:网易云音乐NCM文件解密解决方案
ncmdump项目:网易云音乐NCM文件解密解决方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾经在网易云音乐下载了喜欢的歌曲,却发现只能在特定客户端播放,无法在其他设备或播放器上享受&…...
如何用智能去重工具高效清理重复图片:AntiDupl.NET完整使用指南
如何用智能去重工具高效清理重复图片:AntiDupl.NET完整使用指南 【免费下载链接】AntiDupl A program to search similar and defect pictures on the disk 项目地址: https://gitcode.com/gh_mirrors/an/AntiDupl 你是否曾面对电脑里杂乱无章的图片库感到束…...
实用指南:3分钟在Windows中解锁iPhone HEIC照片缩略图预览
实用指南:3分钟在Windows中解锁iPhone HEIC照片缩略图预览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 还在为iPh…...
Mac/Linux/Win 跨平台协作难?企业网盘选型必须知道的 3 个标准(含 5 款网盘实测)
对于 2026 年的现代企业而言,业务、设计、研发三大流派往往各自盘踞不同的操作系统生态:业务团队依赖 Windows 处理报表,设计师偏爱 Mac 追求色彩与渲染,而开发者则常年驻扎在 Linux 终端。 很多企业在解决跨平台文件共享时&…...
光谱分析避坑指南:为什么你的多项式拟合基线校正总是不准?
光谱分析避坑指南:为什么你的多项式拟合基线校正总是不准? 拉曼光谱和红外光谱分析中,基线漂移是困扰研究人员的常见问题。就像摄影师需要先调平三脚架才能拍出清晰照片一样,准确的光谱基线校正是后续定量分析的基石。然而在实际操…...
NGSIM数据集:如何成为自动驾驶算法开发的‘黄金标准’测试集?
NGSIM数据集:自动驾驶算法开发的黄金标准与实战指南 在自动驾驶技术快速迭代的今天,算法验证的可靠性直接决定了系统落地的安全性。而NGSIM数据集凭借其0.1秒级高精度采样和真实人类驾驶行为记录,已成为行业公认的算法测试基准。不同于合成数…...
JDK 17 + Hadoop 3.3.5 + Spark 3.3.2 集群搭建保姆级避坑指南(CentOS 8.5 + VMware)
JDK 17 Hadoop 3.3.5 Spark 3.3.2 集群搭建实战避坑手册 当你第一次尝试在本地环境搭建大数据集群时,是否曾被各种兼容性问题、配置错误和莫名其妙的报错折磨得焦头烂额?本文将带你完整走一遍从零开始搭建基于JDK 17、Hadoop 3.3.5和Spark 3.3.2的集群…...
TikTok 短视频生成工具哪家好?TikTok 爆款视频复刻,有什么工具推荐
在 TikTok 流量竞争愈发激烈的 2026 年,想要快速起号、稳定爆单,离不开优质短视频量产和爆款视频复刻。不用从零原创创作,借助成熟 AI 工具复刻平台热门爆款,已经成为跨境卖家和内容创作者的主流玩法。 不少人都在纠结两大问题&a…...
Hotkey Detective:重塑Windows键盘操作的透明化洞察
Hotkey Detective:重塑Windows键盘操作的透明化洞察 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾在…...
第29天:Python发送邮件和短信
Python学习100天(从入门到精通系列文章) 文章目录 Python学习100天(从入门到精通系列文章) 前言 一、发送电子邮件 1.1 电子邮件与 SMTP 协议 1.2 配置邮件服务器 1.3 发送简单邮件 1.4 发送带附件的邮件 1.5 封装邮件发送函数 二、发送短信 2.1 短信发送场景 2.2 调用短信…...
