SQLAlchemy操作MariaDB笔记之四
来源:互联网 发布:数据库备份与灾难恢复 编辑:程序博客网 时间:2024/05/22 03:32
统计函数
计数
session.query(User).filter(User.name.like('%ed')).count()
分组计数
from sqlalchemy import funcsession.query(func.count(User.name), User.name).group_by(User.name).all()
全部计数
session.query(func.count('*')).select_from(User).scalar()
一对多关系,外键
注意ForeignKey和relationship以及backref的用法
backref的语意为User对象可以反向索引Address对象,通过绑定的addresses属性,即user.addresses
>>> from sqlalchemy import ForeignKey>>> from sqlalchemy.orm import relationship, backref>>> class Address(Base):... __tablename__ = 'addresses'... id = Column(Integer, primary_key=True)... email_address = Column(String(100), nullable=False)... #指定外键,与users表的主键关联... user_id = Column(Integer, ForeignKey('users.id'))... #指定反向属性... user = relationship("User", backref=backref('addresses', order_by=id))...... def __repr__(self):... return "<Address(email_address='%s')>" % self.email_address
同步数据库
Base.metadata.create_all(engine)
测试
>>> jack = User(name='jack', fullname='Jack Bean', password='gjffdd')>>> jack.addresses[]>>> jack.addresses = [... Address(email_address='jack@google.com'),... Address(email_address='j25@yahoo.com')]`>>> jack.addresses[1]<Address(email_address='j25@yahoo.com')>>>> jack.addresses[1].user<User(name='jack', fullname='Jack Bean', password='gjffdd')>`>>> session.add(jack)>>> session.commit()
0 0
- SQLAlchemy操作MariaDB笔记之四
- SQLAlchemy操作MariaDB笔记之二
- SQLAlchemy操作MariaDB笔记之三
- SQLAlchemy操作MariaDB笔记之五
- 学习笔记之mariadb的入门操作
- 学习笔记之mariadb的入门操作
- 学习笔记之MariaDB基础操作
- python操作之SQLAlchemy
- MySQL/MariaDB SQL操作笔记
- Python学习总结笔记(10)-- MySQL数据库操作之SQLAlchemy使用总结
- sqlalchemy操作
- sqlalchemy操作
- sqlalchemy操作
- SQLalchemy relationship之lazy属性 学习笔记
- sqlalchemy 笔记
- sqlalchemy整理(四)
- Python 3.x之数据库框架Sqlalchemy操作SQlite
- Python 3.x之数据库框架Sqlalchemy操作SQlite(续)
- 创建对象的几种模式
- 解决 – java.lang.OutOfMemoryError: unable to create new native thread
- java 日期格式化
- 【HTML】-案例-利用表格制作网页
- 餐饮管理系统中事件的使用
- SQLAlchemy操作MariaDB笔记之四
- System.exit(0)和System.exit(1)区别
- Notepad++使用
- 《php和mysql web开发》笔记——第3章 使用数组
- div可输入,单词溢出或超出文字换行
- 我的Makefile
- 自定义身份验证Soap头 进行加密解密
- 程序平台系统开发修复
- 框架跳转页面源码