python如何安装MySQLdb库

安装MySQLdb库

该库的import语句如下所示:

import MySQLdb

如何使用pip安装呢?非常麻烦,网络上很多错误或者介绍不完整。经过一番搜索才找到该库的github项目地址,README文档完整介绍了安装方式:https://github.com/PyMySQL/mysqlclient/blob/main/README.md

一. 安装方法

安装时用的库名和导包时用的库名不一样。

1.1 Windows

# 尤其注意这里名字
$ pip install mysqlclient

作者在README中说到了,在windows上安装非常困难,需要很多的第三方库支持。很可能失败。

1.2 macOS

$ brew install mysql pkg-config
$ pip install mysqlclient

如果不想安装mysql server,可以使用该方法代替:

$ # Assume you are activating Python 3 venv
$ brew install mysql-client pkg-config
$ export PKG_CONFIG_PATH="$(brew --prefix)/opt/mysql-client/lib/pkgconfig"
$ pip install mysqlclient

1.3 Linux

Linux的支持也是无语…作者说了开发环境不同,安装可能碰到错误,需要用户自己寻求解决方法,不要提issue。首先Linux需要先安装python3和mysql相关头文件和第三方依赖库。

$ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config # Debian / Ubuntu
% sudo yum install python3-devel mysql-devel pkgconfig # Red Hat / CentOS

$ pip install mysqlclient

该第三方库安装时也是有一些奇怪,有时候一些debian版本无法直接使用pip install mysqlclient安装,反而是使用apt install python3-mysqldb进行安装

sudo apt update
sudo apt install python3-mysqldb

二. 基本用法

2.1 _mysql

官方文档中描述了,MySQLdb._mysql是一个较为底层的模块,_mysql的接口都可以和MySQL C API各种接口对应上。但是作者建议不要直接使用_mysql模块, 而是使用MySQLdb的其它接口

用法示例:

from MySQLdb import _mysql
db=_mysql.connect(host="localhost",user="joebob", password="moonpie",database="thangs")
db.query("""SELECT spam, eggs, sausage FROM breakfast
         WHERE price < 5""")
r=db.store_result()
# ...or...
r=db.use_result()

r.fetch_row()

2.2 直接使用MySQLdb的接口

import MySQLdb
db=MySQLdb.connect(host="localhost",user="joebob",password="moonpie",database="thangs")
c=db.cursor()
max_price=5
c.execute("""SELECT spam, eggs, sausage FROM breakfast
          WHERE price < %s""", (max_price,))
c.fetchone()

使用上也是非常简单,需要注意的是:**要执行SQL,就一定需要创建cursor对象,db.cursor()的作用是创建一个cursor对象,不要和MySQL支持的cursor搞混,这俩不是一个东西…

这也是我想吐槽的点,为什么叫做游标对象…很容易和MySQL支持的游标搞混,MySQL支持的游标,只能读数据,只能朝一个方向前进。而这里python的cursor对象则是用于执行SQL。

参考文档

  • https://mysqlclient.readthedocs.io/user_guide.html#mysqldb-mysql
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值