SQLAlchemy操作MariaDB笔记之三
2015-09-29 10:39
447 查看
查询语法练习
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’))
相关文章推荐
- 基于MariaDB Galera Cluster的数据库HA方案
- SQLAlchemy操作MariaDB笔记之二
- 转 -- mariadb galera集群配置
- centOS7 下安装测试mariadb,SQLAlchemy第一次使用
- centos7 设备 mariadb-10
- CentOS 7.0 配置nginx+php+mariadb开发环境
- CentOS7安装MariaDB5.5.39全记录
- MariaDB启动脚本/etc/init.d/mysql的坑
- MariaDB(mysql)排序诡异问题
- linux运维之LAMP(apache+mariadb+php)搭建
- CentOS6.5 安装 Mariadb10.0.20
- 淘宝内部分享:MySQL & MariaDB性能优化
- CentOS 7.0 安装配置LAMP服务器方法(Apache+PHP+MariaDB)
- centos7安装数据库mariadb
- CentOS7安装Apache+PHP+MariaDB
- CentOS安装和设置MariaDB的教程
- 详解Centos 使用YUM安装MariaDB
- centos 7安装mysql5.5和安装 mariadb使用的命令
- 浅谈MySQL和mariadb区别
- Mysql/MariaDB启动时处于进度条状态导致启动失败的原因及解决办法