MySQL驱动程序:安装mysql-connector、pymysql和mysqlclient
Python代码调用MySQL时必须借助一个中间桥梁,这个桥梁就是mysql驱动程序,常见的MySQL驱动程序有mysql-connector、PyMySQL、mysqlclient。下面来分别介绍安装过程。
1、安装mysql-connector
① MySQL官方指定的Python连接驱动程序是mysql-connector.可以在命令提示符窗口输入命令:python -m pip install mysql-connector 进行在线安装。
黄色字体提示更新pip不用管
② 安装成功后,在pycharm的控制台测试import mysql.connector,若执行后不出错,则表示该驱动程序已经可以正常使用。
案例:连接MySQL数据库,建立数据库实例和表,插入一条记录。
在pycharm新建文件,输入如下代码,并执行
import mysql.connector # 导入数据库驱动模块mysql cdb = mysql.connector.connect( # 连接MySQL数据库 host = "localhost", # 本地主机,可以用127.0.0.1代替 user = "root", # MySQL数据库登录超级用户root passwd = '123456' # 数据库登录密码,为MySQL安装时的密码 ) ccursor = cdb.cursor() # 建立与数据库连接的游标 ccursor.execute("DROP DATABASE IF EXISTS StudyDB") # 当StudyDB已经存在时,先删除该数据库实例,否则第2次执行将报错 ccursor.execute("CREATE DATABASE StudyDB") # 建立StudyDB数据库实例 ccursor.execute("USE StudyDB") # 使用StudyDB数据库实例,不调用后续无法插入新记录 ccursor.execute("CREATE TABLE shopT(name VARCHAR(100),price int(12))") # 建立商店表shopT ccursor.execute("INSERT INTO shopT(name,price) VALUES ('苹果',2)") # 插入一条记录 cdb.commit() # 将数据提交到数据库文件中(写入硬盘)
在workbench数据库管理工具可以查看到插入的记录,代表mysql-connector安装成功可用。
2、安装PyMySQL
PyMySQL是python连接MySQL的另一款比较流行的数据库驱动程序,可以在线安装,也可以下载安装包安装。这里仍然采用在线安装方法。
在命令提示符里输入pip install pymysql并执行。
1 | pip install pymysql |
输入上述命令没有安装成功,更换镜像清华源后安装成功了。
pip install pymysql3 -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装了pymysql后,还要加两句话,它可以写在任意文件里,只要它执行就行,其实它就是猴子补丁,把里面mysqlclient动态替换成pymysql去操作的模块 。一般我们是在init文件里配置:
import pymysql pymysql.install_as_MYSQLdb()
django 2.0.7 以后,就不支持pymysql了,如果在执行命令时报错,需要改源码:点击最后一个报错提示链接,在146行,把decode改成encode。
query = query.encode(errors='replace')
3、安装mysqlclient
mysqlclient既支持python2,又支持python3,无缝支持django,缺点是这个模块可能装不上。如果安装不上,看这篇博客:https://www.liuqingzheng.top/python/%E5%85%B6%E4%BB%96/01-%E5%90%84%E4%B8%BB%E6%B5%81Linux%E7%B3%BB%E7%BB%9F%E8%A7%A3%E5%86%B3pip%E5%AE%89%E8%A3%85mysqlclient%E6%8A%A5%E9%94%99/
安装mysqlclient 输入命令:
pip install mysqlclient
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构