SQLAlchemy操作MariaDB笔记之三
来源:互联网 发布:网络电视要机顶盒吗 编辑:程序博客网 时间:2024/05/09 17:01
查询语法练习
query方法返回的是一个可迭代输出的对象,可以索引和切片。参数可以为表对象,表的字段对象。
>>> for instance in session.query(User).order_by(User.id): ... print instance.name, instance.fullname
>>> for name, fullname in session.query(User.name, User.fullname): ... print name, fullname
给表对象起别名,同时可以指定字段的别名。
>>> from sqlalchemy.orm import aliased>>> user_alias = aliased(User, name='user_alias')SQL>>> for row in session.query(user_alias, user_alias.name).all(): ... print row.user_alias
fillter_by()方法相当于where子句;order_by
方法相当于orderby子句;
子句中的符号:
query.filter(User.name == ‘ed’)
query.filter(User.name != ‘ed’)
LIKE
query.filter(User.name.like(‘%ed%’))
IN
query.filter(User.name.in_([‘ed’, ‘wendy’, ‘jack’]))
从句
query.filter(User.name.in_(
session.query(User.name).filter(User.name.like(‘%ed%’))
))
NOT IN
query.filter(~User.name.in_([‘ed’, ‘wendy’, ‘jack’]))
IS NULL
query.filter(User.name == None)
AND
from sqlalchemy import and_
query.filter(and_(User.name == ‘ed’, User.fullname == ‘Ed Jones’))
query.filter(User.name == ‘ed’, User.fullname == ‘Ed Jones’)
OR
query.filter(User.name == ‘ed’).filter(User.fullname == ‘Ed Jones’)
from sqlalchemy import or_
query.filter(or_(User.name == ‘ed’, User.name == ‘wendy’))
MATCH
query.filter(User.name.match(‘wendy’))
- SQLAlchemy操作MariaDB笔记之三
- SQLAlchemy操作MariaDB笔记之二
- SQLAlchemy操作MariaDB笔记之四
- SQLAlchemy操作MariaDB笔记之五
- 学习笔记之mariadb的入门操作
- 学习笔记之mariadb的入门操作
- 学习笔记之MariaDB基础操作
- python操作之SQLAlchemy
- SQLAlchemy使用笔记--SQLAlchemy ORM(三)
- MySQL/MariaDB SQL操作笔记
- SQLAlchemy (三)---使用操作连接符
- SQLAlchemy ORM教程之三:Relationship
- Python学习总结笔记(10)-- MySQL数据库操作之SQLAlchemy使用总结
- sqlalchemy操作
- sqlalchemy操作
- sqlalchemy操作
- SQLalchemy relationship之lazy属性 学习笔记
- sqlalchemy 笔记
- PAT(甲级)1075
- Leetcode83: Maximum Subarray
- wsdl2java 生成不带JAXBElement的客户端
- 前后台转码
- 高德地图路径回放
- SQLAlchemy操作MariaDB笔记之三
- MyEclipse/Eclipse中enum cannot be resolved to a type 错误解决
- iOS 调试Log
- MakeFile
- 《移动互联网的秘密》
- 关于硬链接和软连接(符号链接)的区别
- 华为机试——0-1背包问题
- PAT(甲级)1076
- HashMap的工作原理