用pymysql代替MySQLdb

在我刚开始学python的时候,用的是python2.7,那时候连接mysql用的库是MySQLdb(很诡异的大小写,初学者经常因为记不住大小写导致“No module named xxx”)。燃鹅,在python3中,这个库已经不能继续使用了。怎么办呢?在python3中,可以使用pymysql或mysqlclient。今天我要介绍的就是pymysql。

如果有MySQLdb的基础,其实pymysql的使用也是非常类似的,同样是这么几个步骤:

连接数据库→创建游标→执行SQL→fetch获得数据,进行业务处理→关闭游标→commit→关闭数据库连接

可使用的函数也是非常像。

连接数据库:

conn = pymysql.connect(host=host, user=user, passwd=password, db=db)

创建游标:

cur = conn.cursor()

执行SQL:

cur.execute("INSERT INTO table VALUE something")
cur.execute("SELECT * FROM table")

获取数据:

data = cur.fetchone()
data = cur.fetchmany()
data = cur.fetchall()
# data是个生成器

关闭游标:

cur.close()

如果SQL是insert之类的DML语句,要记得commit:

conn.commit()

关闭数据库连接

conn.close()

看,就是这么简单。至于建库、存储过程、事务之类的,我的建议是减少使用,SQL就写最基本的SQL,复杂的操作都在程序中执行(咳咳,其实复杂的SQL我也不会写)。所以,就简单地讲这么点了,大家上手试试就会用了。

(啊~~~好糊弄人的一篇博客啊~~~)

时间: 2024-10-01 01:30:11

用pymysql代替MySQLdb的相关文章

python3的玩家们 pymysql把mysqldb库取代了

虽然大家可能在python2.x中用习惯了mysqldb,但是在python3.x中已经不支持那个组件了. 取而代之的是: import pymysql 所以,大家pip起来吧.虽然有消息说mysql官方出了个新版,但我没找到. 例子如下: import pymysql conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='test', db='mysql') cur = conn.cursor() cu

python3的 pymysql把mysqldb库取代了,让python 3支持mysqldb的解决方法

[转]https://blog.csdn.net/zhongxuejiwen/article/details/76099456 原因 MySQLdb 只适用于python2.x,发现pip装不上. 它在py3的替代品是: import pymysql 安装方法: pip install pymysql django+mysql 而Django默认的还是使用MySQLdb:执行会报:ImportError: No module named ‘MySQLdb’ 解决: 在站点的 init.py 文件

python peewee.ImproperlyConfigured: MySQLdb or PyMySQL must be installed.

最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到“被解放的姜戈”时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: 执行python manage.py syncdb时,报错:Error loading MySQLdb module: No module named 'MySQLdb' 经过上网搜索得知,MySQLdb并不支持Python3.5,因此只能找别的类库代替. 解决方法: 使用pymysql代替MySQLdb,因为两者的

Python3出现“No module named 'MySQLdb'“问题-以及使用PyMySQL连接数据库

Python3 与 Django 连接数据库,出现了报错:Error loading MySQLdb module: No module named 'MySQLdb'.原因如下:在 python2 中,使用 pip install mysql-python 进行安装连接MySQL的库,使用时 import MySQLdb 进行使用:在 python3 中,改变了连接库,改为了 pymysql 库,使用pip install pymysql 进行安装,直接导入即可使用:但是在 Django 中,

python pymysql和orm

pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1. 安装 管理员打开cmd,切换到python的安装路径,进入到Scripts目录下(如:C:\Users\Administrator\AppData\Local\Programs\Python\Python35\Scripts): 执行以下命令:pip install pymysql 校验是否安装成功:进入到python命令行模式,输入import pymysql,无报错代表成功: 2. 使用操作 2.1

Python 3.x 连接数据库(pymysql 方式)

==================pymysql=================== 由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通过 pip 安装.但如果你使用的是 pycharm IDE,则可以使用 project python 安装第三方模块. [File] >> [settings] >> [Project: python] >> [Proje

Python3.5 + django1.8.5 安装”import pymysql pymysql.install_as_MySQLdb()”的解决方法

最近在学习Python,打算先看两个在线教程,再在github上找几个开源的项目练习一下,在学到"被解放的姜戈"时遇到django同步数据库时无法执行的错误,记录一下. 错误现象: 执行python manage.py syncdb时,报错:Error loading MySQLdb module: No module named 'MySQLdb' 经过上网搜索得知,MySQLdb并不支持Python3.5,因此只能找别的类库代替. 解决方法: 使用pymysql代替MySQLdb,

Python操作MySQL -即pymysql/SQLAlchemy用法

本节介绍Python对于MySQL的一些操作用法 模块:pymysql(等同于MySQLdb) 说明:pymysql与MySQLdb模块的使用基本相同,学会pymysql,使用MySQLdb也就不是问题 安装API pip install PyMySQL 操作 #!/usr/bin/env python # -*- coding: utf-8 -*- # auth : pangguoping import pymysql # 创建连接 conn = pymysql.connect(host='1

Python 3.5 连接Mysql数据库(pymysql 方式)

由于 MySQLdb 模块还不支持 Python3.x,官方的Mysql连接包只支持到3.4,所以 Python3.5 如果想连接MySQL需要安装 pymysql 模块. pymysql 模块可以通过 pip 安装. 由于Python统一了数据库连接的接口,所以 pymysql 和 MySQLdb 在使用方式上是类似的: pymysql.Connect()参数说明 host(str): MySQL服务器地址 port(int): MySQL服务器端口号 user(str): 用户名 passw