您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 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......谢谢大家!再见!
本文标题:Python 数据库技术讲座(2)
链接地址:https://www.777doc.com/doc-4195693 .html