python mysqldb_python MySQLdb API手册
python访问MySQL server,可以使用 _mysql模块, 也可使用进一步封装过的MySQLdb包。
若使用MySQLdb,则需要单独安装。
今天发现MySQLdb的API手册居然被墙了… …
我把这个手册下载并上传到自己的博客上,供需要的朋友参考。
MySQLdb包是遵循Python DB API 2.0规范开发的,它的用法可以参阅:
MySQLdb中常用的类有Connection(首字母大写)和Cursors
Connection类
该类的参考文档可参考:
通过关键字参数来构造Connection对象,举个例子:
import MySQLdb as mdb
try:
conn = mdb.Connection(host = '127.0.0.1', user = 'root', passwd = '******', db = 'test', charset='utf8')
except Exception, e:
print e
finally:
if vars().has_key('conn'):
conn.close
1
2
3
4
5
6
7
8
9
importMySQLdbasmdb
try:
conn=mdb.Connection(host='127.0.0.1',user='root',passwd='******',db='test',charset='utf8')
exceptException,e:
printe
finally:
ifvars().has_key('conn'):
conn.close
Connection类包括__enter__和__exit__方法,可以直接使用with语句,其实并不需要上述try/except/finally语句。
请看下面的例子:
import MySQLdb as mdb
conn = mdb.Connection(host = '127.0.0.1', user = 'root', passwd = '******', db = 'test', charset='utf8')
with conn:
print 'client:', conn.get_host_info()
1
2
3
4
5
importMySQLdbasmdb
conn=mdb.Connection(host='127.0.0.1',user='root',passwd='******',db='test',charset='utf8')
withconn:
print'client:',conn.get_host_info()
Connection对象可以进行SQL查询,但文档中也指出,这是非标准的做法,并不推荐使用的:
import MySQLdb as mdb
conn = mdb.Connection(host = '127.0.0.1', user = 'root', passwd = '******', db = 'test', charset='utf8')
with conn:
conn.query('select * from Books')
print conn.use_result().fetch_row(10) #max row number = 10
1
2
3
4
5
6
importMySQLdbasmdb
conn=mdb.Connection(host='127.0.0.1',user='root',passwd='******',db='test',charset='utf8')
withconn:
conn.query('select * from Books')
printconn.use_result().fetch_row(10)#max row number = 10
因为__enter__方法返回的是cursor对象,可以使用这个cursor对象进行SQL查询,举例查询Book表中的所有行:
import MySQLdb as mdb
conn = mdb.Connection(host = '127.0.0.1', user = 'root', passwd = '******', db = 'test', charset='utf8')
with conn as cursor:
cursor.execute('select * from Books')
for i in range(cursor.rowcount):
print cursor.fetchone()
1
2
3
4
5
6
7
importMySQLdbasmdb
conn=mdb.Connection(host='127.0.0.1',user='root',passwd='******',db='test',charset='utf8')
withconnascursor:
cursor.execute('select * from Books')
foriinrange(cursor.rowcount):
printcursor.fetchone()
另外,Connection对象的__enter__和__exit__之间,默认是一个事务(transaction),
只有当所有的SQL语句执行成功,才会commit,否则,会rollback
请看例子:
import MySQLdb as mdb
conn = mdb.Connection(host = '127.0.0.1', user = 'root', passwd = '******', db = 'test', charset='utf8')
with conn as cursor:
cursor.execute('INSERT INTO Books set Name = "%s"' % ('book1',))
cursor.execute('INSERT INTO Books set Name = %s' % ('book2',))
1
2
3
4
5
6
importMySQLdbasmdb
conn=mdb.Connection(host='127.0.0.1',user='root',passwd='******',db='test',charset='utf8')
withconnascursor:
cursor.execute('INSERT INTO Books set Name = "%s"'%('book1',))
cursor.execute('INSERT INTO Books set Name = %s'%('book2',))
上面,第一条插入语句是正确的,第二条插入语句有误,没有加引号。
最终的运行结果,是一条记录都没有插入。
python mysqldb_python MySQLdb API手册相关推荐
- python中mysqldb模块_python中MySQLdb模块用法实例
本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...
- python中MySQLdb模块用法实例
篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...
- Python MySQL(MySQLdb)
Python MySQL(MySQLdb) Python标准的数据库接口的Python DB-API(包括Python操作MySQL).大多数Python数据库接口坚持这个标准. Python标准的数 ...
- 用Python调用OpenAI API做有趣的事
获取 API KEY 首先需要 可以开全局的梯子,选择日本或韩国节点,可以通过 ipinfo 检查当前 IP 地址是否为日本或韩国地区,然后访问 OpenAI 网站注册账号并完成认证. 如果自己完成账 ...
- install python+twisted+mysqldb+django on mac
一. install python 1) check install or not 在mac终端输入命令:which python 即可查看python的路径 2)未安装时,手动下载安装包 地址:ht ...
- python 图表_Python入门学习系列——使用Python调用Web API实现图表统计
使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...
- Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8
我使用python的MySQLdb模块实现了一个mysql client, 在测试时,出现了如下错误 Python模块MySQLdb操作mysql出现2019错误:Can't initialize c ...
- python使用openweathermap API获取全世界主要城市天气信息
python使用openweathermap API获取全世界主要城市天气信息 官方网址: http://www.openweathermap.org/api 注意:使用gmail注册成功,然后到gm ...
- 微信小店 API 手册
微信商铺API手册V1.13 目录 1. 商品管理接口.................................................................... ...
- python loading_MXNet Python Data Loading API
MXNet Python Data Loading API Introduction 介绍 MXNet 数据加载模块的主要特性. Create A Data Iterator 介绍如何在创建一个 py ...
最新文章
- Windows2012使用笔记
- 空腹吃香蕉对身体好吗?哪些水果不宜空腹吃
- [问答]-ARM文档中的†和‡的含义
- 漫漫MySQL之路(1.MySQL简介和诞生)
- python decode unicode encode
- Win8消费者预览版下载地址 包含中文下载地址及中文手册
- word 2013 题注、图注、插入图片自动修改大小、批量更新题注编号
- arcgis出界址点成果表_界址点成果表打印
- 流量卡官网源码【全解无后门】 修复添加教程
- 临界区设计太大或太小有何缺点_小户型太小怎么办?17个实用空间设计拯救你家,小家越住越大...
- 32f407tim4时钟源频率_华为以太时钟同步原理介绍(一)
- JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数
- backbonejs中的集合篇(一)
- 电子书下载:Pro ASP.NET MVC2 Framework 2nd
- 解决俄罗斯大shen精简版Win10无法远程的问题及同类精简版系统无法远程问题,简单快捷方法。
- vivox50支持鸿蒙,vivo X50系列极致轻薄的机身下,还有哪些功能和亮点?
- 【读万卷书】《哪有没时间这回事》
- 2018-2019-2 20175217 实验四《Android开发基础》实验报告
- taskmgr(任务管理器)无法出来的解决办法
- Error: Java exception was raised during method invocation
热门文章
- phpstorm配置phpunit单元测试及PHPunit断言函数
- 干货分享|如何使用小鸟云服务器搭建Wordpress站点
- 曾经是“杀手级”桌面语言,Java桌面开发为何走向衰落?
- UE4_Stereo Panoramic Movie Capture_合并左右眼为一张图片
- poi批量导入导出Excel(一、需要建数据库表)
- CentOS 安装火狐的 flash插件
- 转://Oracle 11gR2 硬件导致重新添加节点
- 大一C语言 课设(餐厅管理系统)
- WebDriverException: Message: unknown error: cannot find Chrome binary(ChromeDriver及谷歌官网下载地址)
- 如何在腾讯云快速注册域名