python sqlalchemy对oracle数据库的ORM反射
来源:互联网 发布:相机软件大全 编辑:程序博客网 时间:2024/06/05 12:50
一直在想程序调DB的表操作能不能简单一些,以前用的java,感觉hibernate,jpa什么的太复杂了,简单做一点点东西,要你把框架先了解一遍,jar包下一堆,配置文件先纠结一顿,然后... 你的热情就浇灭了,也忘记了开始想要干啥了,经常就没有然后了...
最近在看python,刚好看到了sqlalchemy,和自己经常用的oracle结合起来,发现非常简单好用,用sqlalchemy提供的自动反射,提供一个表名称,就直接可以对表进行操作了,简直就是DB操作神器啊。
前提条件:
1. 安装sqlalchemy:这个简单,cmd下面直接运行easy_install sqlalchemy,就OK了,当然了,要联网。
2. 安装cx_Oracle (http://cx-oracle.sourceforge.net/):这个必须要找对应平台的,而且用的数据库也要对应上。我的是windows平台的,11G的oracle DB,但是我却发现,我用"Oracle 11g, python 2.7"的那个安装包,装完是不能访问数据库的,会报什么attribute错误,最后破罐子破摔,下了个"Oracle 10g, python2.7",居然就神奇的能够用上了,不知道为什么。仅供参考,估计有和我一样的。
都装完了以后,就可以敲代码了,我在oracle里面建了一个表,
create table zy_user(name varchar2(10), address varchar2(50))
测试代码如下,测试时候请把DB连接字符串改成自己的:
- from sqlalchemy import *
- from sqlalchemy.sql import select
- from sqlalchemy.schema import *
- # create the engine for oracle db
- # we need to install cx_Oracle and sqlalchemy in advance.
- db_engine=create_engine('oracle://apps:apps@10.0.0.100:1522/VID', echo=True)
- # test the ddl to db
- # this is tested in VM and works fine.
- # db_engine.execute("create table zy_user(name varchar2(10), address varchar2(50))")
- # reflect the table into sqlalchemy
- # we should use the meta to do the reflect in version 0.9
- meta=MetaData()
- t = Table("zy_user",meta, autoload=True, autoload_with=db_engine) # 这句话就提供了一个表名,其他的,sqlalchemy都帮你做完了
- # autoload the keys
- print t.c.keys()
- # create the insert script
- ins=t.insert()
- print str(ins)
- # check all the column names and do a select to fetch the data directly from table
- conn=db_engine.connect()
- s=select([t]).where(t.c.name=='zy1') # 提供查询条件
- result=conn.execute(s)
- for row in result:
- print row[t.c.name],row[t.c.address] # 看这里,直接用t.c.name就可以调用name列的值了,c代表column。不用做映射,不用配置文件,简单到无语吧?...
- # remember to close the cursor
- result.close()
0 0
- python sqlalchemy对oracle数据库的ORM反射
- python sqlalchemy对oracle数据库的ORM反射
- Python的数据库ORM框架:SQLAlchemy
- Python的数据库ORM框架:SQLAlchemy
- Python的数据库ORM框架:SQLAlchemy
- Python的数据库ORM框架:SQLAlchemy
- 使用Python数据库ORM SQLAlchemy
- Python的ORM框架SQLAlchemy
- Python的ORM框架-SQLAlchemy
- python ORM链接数据库-sqlalchemy库的使用(一)
- Python的ORM框架SQLAlchemy入门教程
- Python ORM SQLAlchemy 的中文乱码问题解决
- Python SQLalchemy ORM的使用(一)
- Python - sqlalchemy Orm
- Python SQLAlchemy MySQL ORM
- Python-ORM-SQLALchemy
- python orm 之 sqlalchemy
- python sqlalchemy orm
- 黑马程序员---c语言字符串
- tips of day
- 黑马程序员--刚学完集合,也看了一些资料,做个总结,
- bootstrap主题样式替换
- Android CTS(兼容性测试)整个流程
- python sqlalchemy对oracle数据库的ORM反射
- C# 正则表达式
- 面试常见算法-排序查找算法
- dwm窗口水平分割
- 练手,巧用MAP的put方法的返回值
- 学习libopus(2) Decoder解码器
- PCB入门时候的错误归纳(第一次PCB走线)
- 关于iOS中UITableView下拉距离短刷新没事,下拉距离长就会崩溃的问题解决方案
- 基于maven的ssh框架一步一步搭建