SQLAchemy Core学习之Reflection

如果以后万一有一个定义好了的库,可以用这种反射的方法,作常用的操作。

#coding=utf-8

from datetime import datetime
from sqlalchemy import (MetaData, Table, Column, Integer, Numeric, String, Boolean,
                        DateTime, ForeignKey, create_engine, CheckConstraint)
from sqlalchemy import (insert, select, update, delete, text, desc, cast, and_, or_, not_)
from sqlalchemy import (Table, ForeignKeyConstraint)
from sqlalchemy.sql import func
from sqlalchemy.exc import IntegrityError

metadata = MetaData()
engine = create_engine('mysql+pymysql://u:p@ip:3306/Chinook')

artist = Table('Artist', metadata, autoload=True, autoload_with=engine)

print artist.columns.keys()

s = select([artist]).limit(10)
print engine.execute(s).fetchall()

album = Table('Album', metadata, autoload=True, autoload_with=engine)
album.append_constraint(ForeignKeyConstraint(['ArtistId'], ['artist.ArtistId']))

print album.columns.keys()
print metadata.tables

print album.foreign_keys

# print str(artist.join(album))

metadata.reflect(bind=engine)
print metadata.tables.keys()

playlist = metadata.tables['Playlist']
s = select([playlist]).limit(10)
print engine.execute(s).fetchall()

时间: 2024-07-28 20:02:51

SQLAchemy Core学习之Reflection的相关文章

ASP.NET Core学习之一 入门简介

一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的"问题",是简单的问题,对,就是简单,就是因为觉得简单被忽略的东西,恰恰这才是最重要的. 1.学习资料 首先,介绍下哪里可以获得学习资料 英文官网,最好的文档,英语得过硬 https://docs.microsoft.com/en-us/aspnet/core/ 可惜当年英语就是马马虎虎过来的

ASP.NET Core学习之三 NLog日志

上一篇简单介绍了日志的使用方法,也仅仅是用来做下学习,更何况只能在console输出. NLog已是日志库的一员大佬,使用也简单方便,本文介绍的环境是居于.NET CORE 2.0 ,目前的版本也只有beta版. 一.安装和配置 1.安装 命令如下 PM> Install-Package NLog.Web.AspNetCore -Version 4.5.0-beta04 2.创建配置文件 在web项目根目录下,创建配置文件nlog.config ,并且将文件的属性"复制到输出目录"

ASP.NET Core学习之二 菜鸟踩坑

对于像我这样没接触过core的人,坑还是比较多的,一些基础配置和以前差别很大,这里做下记录 一.Startup 1.注册服务 // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(); // services.Ad

Do You Kown Asp.Net Core -- Asp.Net Core 2.0 未来web开发新趋势 Razor Page

Razor Page介绍 前言     上周期待已久的Asp.Net Core 2.0提前发布了,一下子Net圈热闹了起来,2.0带来了很多新的特性和新的功能,其中Razor Page引起我的关注,作为web程序员来说,Asp.Net下的任何web框架都会去特别关注,因为每次一个新的框架出来,意味着一次革命.此次的Razor Page是否能带来不一样的体验呢,让我们一起来看看吧. 什么是Razor Page     我们都知道在Asp.Net MVC中,Razor是其一种视图引擎.而今天我们介绍

C#将MailMessage保存为本地eml文件续(.Net+SmtpClient)

在上一篇 MailMessage保存为eml文件(C#+SmtpClient)中,我们使用了反射(Reflection)的方式,调用System.Net.Mail的内部对象 MailWriter 实现了将 MailMessage 的内容保存为 eml 文件. 通过上次的实现,主要是学习反射Reflection的使用思路,起到个抛砖引玉的作用吧,算是 今天,偶尔看到了上次的代码,又重新发现了一个新大陆,使得保存eml文件的工作,变得异常简单了 ,先回到上次解析的地方: 上次的时候,我们对于上面的这

关于Vs2015社区版和vs2010的项目转换--vs2015打开后,到10就打不开视图设计器了。求解!

问题描述 关于Vs2015社区版和vs2010的项目转换--vs2015打开后,到10就打不开视图设计器了.求解!错误26"ResolveComReference"任务意外失败.System.IO.FileNotFoundException:未能加载文件或程序集"Microsoft.Build.Tasks.Core"或它的某一个依赖项.系统找不到指定的文件.文件名:"Microsoft.Build.Tasks.Core"在System.Refle

ORM映射框架总结--实体分析器

1.       什么是数据分析器 前面一篇文章讲到过数据分析器,什么是数据分析器.其实很容易理解,就是对数据进行分析采集的一个工具,说白了就是一个小程序,在本ORM框架中对实体对象进行必要的数据分析,获得实体对象的各种信息缓存,以便在后续的工作中直接提取数据.这个是相对去年写的那个ORM有所改进的,在缓存实体信息的时候,在一定程度上可以提高该框架的性能 2.       实体分析器的原理简单介绍 简单的UML图: 图总是能给人最直观的感觉.从上面的图我们可以看出,这个分析器分为了几个过程: (

学习ASP.NET Core,你必须了解无处不在的“依赖注入”

ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要相应的服务提供支持,ASP.NET Core自身提供了一个DI容器来实现针对服务的注册和消费.换句话说,不只是ASP.NET Core底层框架使用的服务是由这个DI容器来注册和提供,应用级别的服务的注册和提供也需要以来这个DI容器,所以正如本文标题所说的--学习ASP.NET Core,你必须了解无

Promise学习笔记(三):源码core.js解析(上)

源码阅读阶段 先理解Promise根本吧,想快点理解的话可以直接跳到下个标题.这部分根据理解将持续修改. Promise(fn) function noop() {}  /*  空函数,用于判断传入Promise构造器的函数是否为空函数,如果为空函数构造一个promise对象并初始化状态为pending,终值null,回调状态0和队列null.  */  var LAST_ERROR = null;//记录Promise内部最后的一次错误  var IS_ERROR = {}; //空对象,标识