Python 数据库技术讲座(2)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

......Python与数据库刘鑫liuxin2@kingsoft.com第二讲:数据库访问技术August31,2010......对于Python,数据库总是一种外部系统......需要管理连接资源......服务器vs内嵌通常有独立的生命周期......可通过SDK/API访问......关系型数据库的标准接口DBAPI......DBAPI的构成......核心组件dbapi){connect;管理联接、事务,执行语句,生成操作游标cursor;管理接收到的数据......基本的使用过程......获取连接dbapimoduleconnect()!connection......打开游标connection:cursor()!cursor......执行语句cursor:execute()!执行状态......处理数据集cursor:fetchone()!逐行处理......处理数据集cursor:fetchall()!一次性处理整个结果集......完成事务connection!{:commit()ifok:rollback()else......清理现场connection:close()!结束访问......涉及的概念......联接connection=dbapi.connect(...)......联接字符串’host=xxxdatabase=xxxuser=xxxpassword=xxx’......游标cursor=conn.cursor()......执行语句status=cursor.execute(”...”)......fetchallforrowincursor.fetchall():.........orfetcheachwhileTrue:row=cursor.fetchone()ifrow:...else:break.........事务conn.setisolationlevel(n)...conn.commit()#or.rollback()......典型的DBAPI应用importpsycopg2withconnaspsycopg2.connect(...):cur=conn.cursor()try:cur.execute(’selectfromtwherekey=?’,(param,))forrowincur.fetchone():dosomthing...conn.commit()excepte:logger.log(e)conn.rollbac()......ORM简介......DBAPI很好......但是还不够好......关系()阻抗不匹配......开发周期较长......不易调试......感觉不是很重要不易移植......但这个与前一条有关不易测试......……......但是!......Python不需要Hibernate!......我们需要的不仅是O-R-M!......期待中的数据库访问工具......业务逻辑表达......模型转义RDB数据()Python数据结构......连接资源托管......分布存储......两阶段提交......对SQL直接操作友好......支持具体平台的特色功能......灵活利用Python语法......仿SQL调用......……......渣SQLObject......比较渣web2pydal......非常渣Storm......经常被抱怨DjangoORM......简单型web.pydb......Python的惊人生产力很多Web框架都有自己的ORM......唯一推荐!......SQLAlchemy......谢谢大家!再见!

1 / 57
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功