zoukankan      html  css  js  c++  java
  • sqlalchemy的filter使用

    原文出处:sqlalchemy的filter使用

    from flask import Flask, jsonify, json
    from sqlalchemy import create_engine, Column, Integer, String, DateTime, Float, func, and_, or_
    
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy.orm import sessionmaker
    from datetime import datetime
    
    
    # 连接数据库字符串
    DB_URI = "mysql://root:123456@127.0.0.1/pyDemo"
    
    engine = create_engine(DB_URI)
    # 判断是否连接成功
    engine.connect()
    
    
    # 创建ORM
    Base = declarative_base(engine)
    
    # 创建回话
    session = sessionmaker(engine)()
    
    
    class Article(Base):
    # 表名字
    __tablename__ = 'Article'
    #
    id = Column(Integer, primary_key=True, autoincrement=True)
    # read_count = Column(Integer, default=0)
    title = Column(String(50), default='1111')
    content = Column(String(50))
    price = Column(Float, nullable=False)
    
    
    
    # 查询条件
    # 1.equal
    res = session.query(Article).filter(Article.id == 21).first()
    # print(res)
    
    # 2.notequal
    res = session.query(Article).filter(Article.id != 21).all()
    # print(res)
    
    # 3.like & ilike不区分大小写
    res = session.query(Article).filter(Article.title.like('title%')).all()
    # print(res)
    
    # 4.in
    res = session.query(Article).filter(Article.title.in_(['title0', 'title1'])).all()
    # print(res)
    
    # 5.not in
    res = session.query(Article).filter(~Article.title.in_(['title0', 'title1'])).all()
    # print(res)
    res = session.query(Article).filter(Article.title.notin_(['title0', 'title1'])).all()
    # print(res)
    
    # 6.isnull
    res = session.query(Article).filter(Article.content == None).all()
    # print(res)
    
    # 7.is not null
    res = session.query(Article).filter(Article.content != None).all()
    # print(res)
    
    # 8 and
    res = session.query(Article).filter(Article.content == None, Article.title.notin_(['title0', 'title1'])).all()
    # print(res)
    res = session.query(Article).filter(and_(Article.content == None, Article.title.notin_(['title0', 'title1']))).all()
    # print(res)
    
    # 9 or
    res = session.query(Article).filter(
    or_(Article.content != None, Article.title.notin_(['title0', 'title1', 'title5']))).all()
    print(res)
  • 相关阅读:
    Dockerfile编写语法
    java应用测试报告生成(二):利用ant的build.xml生成测试报告
    java应用测试报告生成(一): sonarqube配合Jenkins生成测试报告及覆盖率
    cannot create windows service for mysql
    线程交互:生产消费模型
    线程同步与锁
    线程的五种状态及改变状态的三种方法
    简单的git入门介绍及常用操作
    CentOS/RHEL 7中的firewall控制
    oracle数据库兼容mysql的差异写法
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/13391722.html
Copyright © 2011-2022 走看看