sqlachemy 原生sql输出
- 在创建引擎时,将echo参数配置成True,会输出sql执行语句记录。默认False
create_engine(statsticConf.sqlalchemy_mysql,connect_args={"charset": "utf8mb4"},echo = True)
#输出如下:2018-12-11 15:34:31,814 INFO sqlalchemy.engine.base.Engine SELECT count(`MT4_TRADES`.`TICKET`) AS deal_close
FROM `MT4_TRADES`
WHERE `MT4_TRADES`.`LOGIN` = %(LOGIN_1)s AND `MT4_TRADES`.`CMD` IN (%(CMD_1)s, %(CMD_2)s) AND `MT4_TRADES`.`CLOSE_TIME` >= %(CLOSE_TIME_1)s AND `MT4_TRADES`.`CLOSE_TIME` < %(CLOSE_TIME_2)s
2018-12-11 15:34:31,814 INFO sqlalchemy.engine.base.Engine {'LOGIN_1': 2021400, 'CMD_1': 0, 'CMD_2': 1, 'CLOSE_TIME_1': '1970-01-01 00:00:00.1', 'CLOSE_TIME_2': '2018-10-26 09:47:00.0'}我们需要复制sql到数据库验证有效性。从结果来看,并不能直接复制到数据库执行,变量值需要手动修改代入。
- 改进。官方有提供compile方法。 https://docs.sqlalchemy.org/en/latest/core/internals.html?highlight=statement%20compile#sqlalchemy.engine.interfaces.Compiled
t_tradesTable = session.query(sqlQuery.label(quotaValue)).filter( sqlFilter ) print(t_tradesTable.statement.compile(compile_kwargs={'literal_binds': True}))SELECT count(`MT4_TRADES`.`TICKET`) AS deal_close
FROM `MT4_TRADES`
WHERE `MT4_TRADES`.`LOGIN` = 2021400 AND `MT4_TRADES`.`CMD` IN (0, 1) AND `MT4_TRADES`.`CLOSE_TIME` >= '1970-01-01 00:00:00.1' AND `MT4_TRADES`.`CLOSE_TIME` < '2018-10-26 09:47:00.0'
sqlachemy 原生sql输出的更多相关文章
- entityframework学习笔记--009-使用原生sql语句操作数据
1 使用原生SQL语句更新--Database.ExecuteSqlCommand 假设你有一张如图9-1所示的Payment数据库表. 图9-1 1.1 实体类型: public class Pay ...
- 08章 分组查询、子查询、原生SQL
一.分组查询 使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计 1.1 聚合函数:常被用来实现数据统计功能 ① count() 统计记录条数 ...
- jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具
jDialects(https://git.oschina.net/drinkjava2/jdialects) 是一个收集了大多数已知数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语 ...
- 使用hibernate原生sql查询,结果集全为1的问题解决
问题如下: String sqlTest ="select summary,summaryno from F_Summary"; List<Map<Object, Ob ...
- [转]ThinkPHP中如何使用原生SQL
From : http://huangqiqing123.iteye.com/blog/1540323 TP的模型可以支持原生SQL操作,提供了query和execute两个方法,为什么原生SQL还要 ...
- Hibernate 函数 ,子查询 和原生SQL查询
一. 函数 聚合函数:count(),avg(),sum(),min(),max() 例:(1)查询Dept表中的所有的记录条数. String hql=" select count(*) ...
- SpringData JPA进阶查询—JPQL/原生SQL查询、分页处理、部分字段映射查询
上一篇介绍了入门基础篇SpringDataJPA访问数据库.本篇介绍SpringDataJPA进一步的定制化查询,使用JPQL或者SQL进行查询.部分字段映射.分页等.本文尽量以简单的建模与代码进行展 ...
- (25)ASP.NET Core EF查询(复杂查询运算符、原生SQL查询、异步查询)
1.复杂查询运算符 在生产场景中,我们经常用到LINQ运算符进行查询获取数据,现在我们就来了解下生产场景经常出现几种复杂查询运算符. 1.1联接(INNER JOIN) 借助LINQ Join运算符, ...
- laravel的ORM转为原生sql
注:mysql测试成功,mongoDB测试失败//将laravel的ORM转为原生sql $SubProfits为laravel的ORM对象 $SubProfits = model::where('i ...
随机推荐
- Python2.x 和 3.x 的区别
Python有两个版本,2.x 和 3.x ,两个版本不兼容,3.x 不不考虑对2.x代码的向后兼容. 在3.x中,一些语法,内建函数和对象的行为都有所调整. 大部分的python库都支持 pytho ...
- Search in Rotated Sorted Array——LeetCode
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...
- js将数字转换成中文
var _change = { ary0:["零", "一", "二", "三", ...
- Java日志框架介绍
一.序言 日志为系统的必不可少的一部分,通过输出的日志我们可以排查线上出现的各种问题,就像断案的线索一样.我们还可以通过日志数据分析用户的行为习惯做大数据分析. 二.日志框架分类及其历史 框架的种类: ...
- SHGetSpecialFolderLocation获取开始文件夹
SHGetSpecialFolderLocation函数可以获取windows 特殊目录 函数原型:(MSDN官方链接:https://msdn.microsoft.com/en-us/library ...
- C/C++程序基础 (十)模板和泛型
什么是泛型编程 基于模板,有效将算法和数据结构分离. 模板 包括类型和参数 模板函数:抽象的函数定义,代表一类同构函数.编译器在其调用位置自动完成对应模板函数的实例化. 模板类:抽象的类定义,代表更高 ...
- python格式化输出的方式汇总
%% 百分号标记 #就是输出一个%%c 字符及其ASCII码%s 字符串%d 有符号整数(十进制)%u 无符号整数(十进制)%o 无符号整数(八进制)%x 无符号整数(十六进制)%X 无符号整数(十六 ...
- datatable中reload和load的区别
ajax.reload()用于datatable表某个数据的变化而重新加载 ajax.url(url).load() 用于切换url时,datatable重新获取数据,加载.
- .Net Core爬虫爬取妹子网图片
现在网上大把的Python的爬虫教程,很少看见有用C#写的,正好新出的.Net Core可以很方便的部署到Linux上,就用妹子图做示范写个小爬虫 在C#下有个很方便的类库 HtmlAgilityPa ...
- 关于PHPExcel 基础使用方法
$dir=dirname(__FILE__);//找到当前脚本所在路径require_once $dir.'/PHPExcel/PHPExcel.php';$objPHPExcel=new PHPEx ...