栏目:python知识库 作者:admin 日期:2018-10-29 评论:0 点击: 681 次
MySQL-python 又叫 MySQLdb,是 Python 连接 MySQL 最流行的一个驱动,很多框架都也是基于此库进行开发,遗憾的是它只支持 Python2.x,而且安装的时候有很多前置条件,因为它是基于C开发的库,在 Windows 平台安装非常不友好,经常出现失败的情况,现在基本不推荐使用,取代的是它的衍生版本。
1 2 3 4 5 |
# 前置条件 sudo apt-get install python-dev libmysqlclient-dev # Ubuntu sudo yum install python-devel mysql-devel # Red Hat / CentOS # 安装 pip install MySQL-python |
Windows 直接通过下载 exe 文件安装,下载链接可以从网上找到。
用法如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#!/usr/bin/python import MySQLdb db = MySQLdb.connect( host="localhost", # 主机名 user="root", # 用户名 passwd="root", # 密码 db="mydb") # 数据库名称 # 查询前,必须先获取游标 cur = db.cursor() # 执行的都是原生SQL语句 cur.execute("SELECT * FROM YOUR_TABLE_NAME") for row in cur.fetchall(): print(row[0]) db.close() |
由于 MySQL-python 年久失修,后来出现了它的 Fork 版本 mysqlclient,完全兼容 MySQLdb,同时支持 Python3.x,是 Django ORM的依赖工具,如果你想使用原生 SQL 来操作数据库,那么推荐此驱动。安装方式如下所示:
1 2 3 4 5 6 7 |
# Windows 前置条件 pip install some-package.whl # linux 前置条件 sudo apt-get install python3-dev # debian / Ubuntu sudo yum install python3-devel # Red Hat / CentOS brew install mysql-connector-c # macOS (Homebrew) pip install mysqlclient |
注意:Windows 可以在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient 网站找到 对应版本的 whl 包下载安装。
PyMySQL 是纯 Python 实现的驱动,速度上比不上 MySQLdb,最大的特点可能就是它的安装方式没那么繁琐,同时也兼容 MySQL-python,安装过程:
1 2 3 |
pip install PyMySQL # 为了兼容mysqldb,只需要加入 pymysql.install_as_MySQLdb() |
1 2 3 4 5 6 7 8 |
import pymysql conn = pymysql.connect(host='127.0.0.1', user='root', passwd="root", db='mydb') cur = conn.cursor() cur.execute("SELECT Host,User FROM user") for r in cur: print(r) cur.close() conn.close() |
------====== 本站公告 ======------
金丝燕网,一个严谨的网站!