【OpenStack】SqlAlchemy

本文介绍了SqlAlchemy在OpenStack中的应用,包括SqlAlchemy的两大组成部分:ORM和SQL Expression Language,以及数据库操作的基本流程,如指定数据库引擎、定义数据类和增删改查操作。
摘要由CSDN通过智能技术生成

声明:
本博客内容来源网上,忘了是从哪里看到的,如果原作者看到,请联系我附上链接,同时对您的付出表示感谢!
新浪微博:@孔令贤HW;
博客地址:http://blog.csdn.net/lynn_kong
内容系本人学习、研究和总结,如有雷同,实属荣幸!

什么是SqlAlchemy?

SqlAlchemy是一个开源的Python组件,提供数据库抽象的功能,屏蔽不同数据库的差异,为用户提供一致的Python对象操作,结构如下:

对用户而言,SqlAlchemy有两个重要的组成部分,其一,ORM(Object Relational Map,对象关系映射),负责将数据库中的数据(数据表)与Python的对象链接在一起,以操作对象的形式来完成数据操作;其二,SQL Expression Language SQL解释语言,可以将命令转化为底层数据库支持的操作,是一个独立组件,和ORM一同工作的时候负责将对象操作转化为底层数据库的相关命令。也可以单独使用,获得较高的执行效率。

数据库操作流程

1. 指定数据库引擎(Engine)

Engine在SqlAlchemy负责管理通往数据的连接,相当于底层数据库在SqlAlchemy中的代理,结构如下:

Engine是面对用户的数据库接口,DBAPI是DB的API接口。Pool是通向DB的连接池,Dialect代表了底层数据库的类型。
使用SqlAlchemy.create_engine(*args,**kwargs)方法就可以指定数据库引擎了。相关参数如下:
connect_args :连接参数,格式如下:
    dialect+driver://user:password@host/dbname[?key=value.]
    dialect代表底层数据库类型,如MySql, oracle 等
    driver代表数据库驱动,如psycopg2, pyodbc,不填将根据数据库类型使用对应的默认驱动。
    之后就是数据库的连接参数:用户名,密码,IP地址,端口,数据库名,以及传递给connect方法的附加参数。
    例如,Quantum的 Plugin O
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值