一、
客户端→业务逻辑层→数据访问层→数据库
数据访问层是最核心,最低层的技术
二 、Python DB API
1、没有Python DB API之前,接口程序混乱!企业在切换数据库时成本耗费大。
2、Python DB API:Python访问数据库的统一接口规范
对应用数据库来说,DB API使得切换数据库时,只需要少量的修改即可实现
3、Python DB API包含的内容
1:建立连接(connection)
2:交互数据(数据库交互对象 cursor)
3:处理事故(数据库异常类exceptions)
4、使用Python DB API访问数据库
第一步:创建connection
第二步:获取cursor
第三步:执行查询/执行命令/获取数据/处理数据
第四步:关闭cursor
第五步:关闭connection
(connection是一个网络资源,如果长期不关闭的话会占用windows和数据库的资源,对数据库和应用系统造成性能问题)
三、Python MySQL开发环境
四 、DB API——数据库连接对象connection
连接对象:建立Python客户端与数据库的网络连接
**创建方法:MySQLdb.Connect(参数)**创建一个connect对象
(只有port是数字类型,其他全是字符串类型)
connection对象支持方法
实例:
import MySQLdb
conn = MySQLdb.Connect(
host = "127.0.0.1",
port = 3306,
user = 'root',
passwd = '123456',
db = 'example',
charset = 'utf8'
)
cursor = conn.cursor() #创建游标
print conn
print cursor
cursor.close()
conn.close()
五、DB API——数据库游标对象cursor
游标对象:用于执行查询和获取结果
cursor对象支持的方法:
execute方法:查询指的是select语句
命令指的是update、insert、delete三种命令
执行SQL,将结果从获取到客户端
以fetch开头的三种方法可以对execute方法进行各种遍历
fetch*()方法:移动rownumber,返回数据
mysqldb这个插件是通过rownumber来实现遍历的(类似数组的指针)
1、还没有对数据进行遍历:rownumber=0
2、fetchone():rownumber加上1,用户ID=1的数据会被返回
3、fetchmany(3) :rownumber加上3,等于四4;用户ID2、3、4、会被返回
4、fetchall():将剩下的数据全部返回(用户ID5、6)
rowcount这个属性可以用来获取缓冲区中所有数据的行数