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手册相关推荐

  1. python中mysqldb模块_python中MySQLdb模块用法实例

    本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...

  2. python中MySQLdb模块用法实例

    篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...

  3. Python MySQL(MySQLdb)

    Python MySQL(MySQLdb) Python标准的数据库接口的Python DB-API(包括Python操作MySQL).大多数Python数据库接口坚持这个标准. Python标准的数 ...

  4. 用Python调用OpenAI API做有趣的事

    获取 API KEY 首先需要 可以开全局的梯子,选择日本或韩国节点,可以通过 ipinfo 检查当前 IP 地址是否为日本或韩国地区,然后访问 OpenAI 网站注册账号并完成认证. 如果自己完成账 ...

  5. install python+twisted+mysqldb+django on mac

    一. install python 1) check install or not 在mac终端输入命令:which python 即可查看python的路径 2)未安装时,手动下载安装包 地址:ht ...

  6. python 图表_Python入门学习系列——使用Python调用Web API实现图表统计

    使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...

  7. Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8

    我使用python的MySQLdb模块实现了一个mysql client, 在测试时,出现了如下错误 Python模块MySQLdb操作mysql出现2019错误:Can't initialize c ...

  8. python使用openweathermap API获取全世界主要城市天气信息

    python使用openweathermap API获取全世界主要城市天气信息 官方网址: http://www.openweathermap.org/api 注意:使用gmail注册成功,然后到gm ...

  9. 微信小店 API 手册

    微信商铺API手册V1.13 目录 1.      商品管理接口.................................................................... ...

  10. python loading_MXNet Python Data Loading API

    MXNet Python Data Loading API Introduction 介绍 MXNet 数据加载模块的主要特性. Create A Data Iterator 介绍如何在创建一个 py ...

最新文章

  1. Windows2012使用笔记
  2. 空腹吃香蕉对身体好吗?哪些水果不宜空腹吃
  3. [问答]-ARM文档中的†和‡的含义
  4. 漫漫MySQL之路(1.MySQL简介和诞生)
  5. python decode unicode encode
  6. Win8消费者预览版下载地址 包含中文下载地址及中文手册
  7. word 2013 题注、图注、插入图片自动修改大小、批量更新题注编号
  8. arcgis出界址点成果表_界址点成果表打印
  9. 流量卡官网源码【全解无后门】 修复添加教程
  10. 临界区设计太大或太小有何缺点_小户型太小怎么办?17个实用空间设计拯救你家,小家越住越大...
  11. 32f407tim4时钟源频率_华为以太时钟同步原理介绍(一)
  12. JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数
  13. backbonejs中的集合篇(一)
  14. 电子书下载:Pro ASP.NET MVC2 Framework 2nd
  15. 解决俄罗斯大shen精简版Win10无法远程的问题及同类精简版系统无法远程问题,简单快捷方法。
  16. vivox50支持鸿蒙,vivo X50系列极致轻薄的机身下,还有哪些功能和亮点?
  17. 【读万卷书】《哪有没时间这回事》
  18. 2018-2019-2 20175217 实验四《Android开发基础》实验报告
  19. taskmgr(任务管理器)无法出来的解决办法
  20. Error: Java exception was raised during method invocation

热门文章

  1. phpstorm配置phpunit单元测试及PHPunit断言函数
  2. 干货分享|如何使用小鸟云服务器搭建Wordpress站点
  3. 曾经是“杀手级”桌面语言,Java桌面开发为何走向衰落?
  4. UE4_Stereo Panoramic Movie Capture_合并左右眼为一张图片
  5. poi批量导入导出Excel(一、需要建数据库表)
  6. CentOS 安装火狐的 flash插件
  7. 转://Oracle 11gR2 硬件导致重新添加节点
  8. 大一C语言 课设(餐厅管理系统)
  9. WebDriverException: Message: unknown error: cannot find Chrome binary(ChromeDriver及谷歌官网下载地址)
  10. 如何在腾讯云快速注册域名