zoukankan      html  css  js  c++  java
  • flask使用SQLAlchemy组对数据库操作

    两种连接方式:

      第二种方式就是利用threading.local()为每个线程开辟一个自己独立的存储空间

    from sqlalchemy.orm import sessionmaker
    from sqlalchemy import create_engine
    from sqlalchemy.orm import scoped_session
    from models import Users
    
    engine = create_engine(
            "mysql+pymysql://root:123456@127.0.0.1:3306/userinfo?charset=utf8",
            max_overflow=0,  # 超过连接池大小外最多创建的连接
            pool_size=5,  # 连接池大小
            pool_timeout=30,  # 池中没有线程最多等待的时间,否则报错
            pool_recycle=-1  # 多久之后对线程池中的线程进行一次连接的回收(重置)
        )
    SessionFactory = sessionmaker(bind=engine)
    
    
    def task():
        session = SessionFactory()
        ret = session.query(Users).all()
        print(ret)
        # 将连接交还给连接池
        session.close()
    
    
    from threading import Thread
    
    for i in range(20):
        t = Thread(target=task)
        t.start()
    连接方式一,支持并发
    from sqlalchemy.orm import sessionmaker
    from sqlalchemy import create_engine
    from sqlalchemy.orm import scoped_session
    from models import Users
    
    engine = create_engine(
            "mysql+pymysql://root:123456@127.0.0.1:3306/userinfo?charset=utf8",
            max_overflow=0,  # 超过连接池大小外最多创建的连接
            pool_size=5,  # 连接池大小
            pool_timeout=30,  # 池中没有线程最多等待的时间,否则报错
            pool_recycle=-1  # 多久之后对线程池中的线程进行一次连接的回收(重置)
        )
    SessionFactory = sessionmaker(bind=engine)
    session = scoped_session(SessionFactory)
    
    
    def task():
        # session = SessionFactory()
        ret = session.query(Users).all()
        print(ret)
        # 将连接交还给连接池
        session.remove()
        # session.close()
    
    
    from threading import Thread
    
    for i in range(20):
        t = Thread(target=task)
        t.start()
    连接方式二,支持并发,导入scoped_session

    1、介绍、基本配置

      SQLALchemy之介绍,基本使用

    2、创建表、删除表

      SQLAlchemy创建表和删除表

    3、ORM操作,增删改查,连表、分组、排序、执行原生sql语句、一对多与多对多中,基于relationship类字段的查询和添加

      SQLALchemy之ORM操作

  • 相关阅读:
    PointToPointNetDevice doesn't support TapBridgeHelper
    NS3系列—10———NS3 NodeContainer
    NS3系列—9———NS3 IP首部校验和
    NS3系列—8———NS3编译运行
    【习题 7-6 UVA
    【Good Bye 2017 C】 New Year and Curling
    【Good Bye 2017 B】 New Year and Buggy Bot
    【Good Bye 2017 A】New Year and Counting Cards
    【Educational Codeforces Round 35 D】Inversion Counting
    【Educational Codeforces Round 35 C】Two Cakes
  • 原文地址:https://www.cnblogs.com/aizhinong/p/12775300.html
Copyright © 2011-2022 走看看