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并执行。

 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

 

posted @ 2022-06-14 21:31  Tutu007  阅读(3723)  评论(0编辑  收藏  举报