内容:
1.python访问DB的官方接口规范
2.python开发DB程序的开发环境
3.python访问DB的connection、cursor两大对象
4.python执行增、删、改、查操作的实例讲解
5.完整实例:银行转账实现
1.背景
Python DB API:Python访问数据库的统一接口规范
使用Python DB API访问数据库流程:
创建connection ---> 获取cursor ---> 执行查询、执行命令、获取数据、处理数据等 --- 关闭cursor ---> 关闭connection ---> 结束
2.Python MySQL开发环境
首先,编写包含sql语句的python代码,有了代码需要python客户端来执行,但默认情况下,python客户端不能直接进行数据库的访问,可以下载一个python-MySQL connector(python访问数据库的接口程序)进行数据库的访问。最后,为了方便测试,我们需要安装一个MySQL服务器和一个MySQL客服端工具SQLyog来进行数据库的可视化管理。
3.DB API-数据库连接对象connection
创建方法:MySQLdb.Connect(参数)
参数名 类型 说明
host 字符串 MySQL服务器地址
port 数字 MySQL服务器端口号
user 字符串 用户名
passwd 字符串 密码
db 字符串 数据库名称
charset 字符串 连接编码
connection对象支持的方法:
方法名 说明
cursor() 使用该连接创建并返回游标
commit() 提交当前事务
rollback() 回滚当前事务
close() 关闭连接
4.DB API-数据库游标对象cursor
游标对象:用于执行查询和获取结果
cursor对象支持的方法:
参数名 说明
execute(op[,args]) 执行一个数据库查询和命令
fetchone() 取的结果集里的下一行
fetchmany(size) 获取结果集的下几行
fetchall() 获取结果集中剩下的所有行
rowcount 最近一次execute返回数据的行数或影响行数
close 关闭游标对象
execute方法:执行SQL、将结果从数据库获取到客户端
客户端 MySQL服务器
execute(sql) ---------------------------------> 执行SQL
本地缓冲区 <--------------------------------- 结果
fetch*()方法:移动rownumber,返回数据
fetchone()方法:rownumber+1=1,用户id=1的数据将会被返回。
fetchmany()方法:可以传递一个条数n,表示需要获取n条数据。rownumber+3=4,会返回2,3,4这三条数据。
fetchall()方法:将剩下的数据全部返回。rownumber会指向缓冲区最后的位置。
5.实例演示:select查询数据
开始-->创建connection-->获取cursor-->使用cursor.execute()执行select语句-->使用cursor.fetch*()获取并处理数据-->关闭cursor-->关闭connection-->结束