将createview和dropview结构添加到sqlalchemy

sqlalchemy-views的Python项目详细描述


createviewdropview结构添加到sqlalchemy。

状态

目前的版本是0.2.3;发布很少,因为这里的代码很小,并且基于稳定的sqlalchemy api,所以到目前为止还不需要维护来保持与新的sqlalchemy或python版本的兼容性。

截至2019年初,这个包仍在使用最新的python和sqlalchemy。

用法

示例:

>>> from sqlalchemy import Table, MetaData
>>> from sqlalchemy.sql import text
>>> from sqlalchemy_views import CreateView, DropView
>>> view = Table('my_view', MetaData())
>>> definition = text("SELECT * FROM my_table")
>>> create_view = CreateView(view, definition)
>>> print(str(create_view.compile()).strip())
CREATE VIEW my_view AS SELECT * FROM my_table
>>> create_view = CreateView(view, definition, or_replace=True)
>>> print(str(create_view.compile()).strip())
CREATE OR REPLACE VIEW my_view AS SELECT * FROM my_table
>>> drop_view = DropView(view)
>>> print(str(drop_view.compile()).strip())
DROP VIEW my_view
>>> drop_view = DropView(view, if_exists=True, cascade=True)
>>> print(str(drop_view.compile()).strip())
DROP VIEW IF EXISTS my_view CASCADE

注意,sqlalchemyTable对象用于表示 表格和视图。要内省视图,请创建Table 使用autoload=True,然后使用sqlalchemy的 get_view_definition方法生成第二个 参数为CreateView

安装

sqlalchemy-views在pypi上可用,可以通过pip

安装
pip install sqlalchemy-views

限制

各种sql方言已经形成了习惯 创建视图删除视图语法。 该项目旨在提供核心功能集 大多数数据库引擎共享。

致谢

一些设计理念取自 SQLAlchemy Usage Recipe for views

包结构基于 python-project-template

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java向嵌入式Jetty添加多个端点   java如何在JAXWS处理程序中区分请求和响应?   使用Scenebuilder for JAVAFx的登录应用程序的java MVC体系结构   java对话框将不显示   Windows 7上的Java系统变量   java删除动态添加的面板   java将Javadoc嵌入到HTML网站中   带有URL编码数据的java Spring RestTemplate POST请求   java JAXR只运行一次函数   HttpClient缺少java依赖项   java深层反射比较   基于javarmi和CORBA的分布式计算   如何使用当前数据库时间从Java更新MongoDB?   java通过光标保存数据调试时显示错误数据