真正算得上全面的ORM框架必然是我们的SQLAlchemy ORM框架,它可以在任何使用SQL查询时使用

当然了,无论是使用什么ORM框架,都是为了方便不熟练数据库的同学使用的,我个人还是比较推崇原生 SQL ,也建议每位同学攻克 SQL 的难关

废话不多说,我们来看一下 SQLAlchemy 如何使用:

单表操作:

1.创建

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String

#创建基类,相当于Django中的 models.Model,被各个数据表类所继承
Base = declarative_base()


# ##################### 单表示例 #########################
# 创建一张数据表
class Users(Base):
    __tablename__ = 'users'

    id = Column(Integer, primary_key=True)
    name = Column(String(32), index=True)

    __table_args__ = (
        # UniqueConstraint('id', 'name', name='uix_id_name'),
        # Index('ix_id_name', 'name', 'extra'),
    )

# 创建另一张数据表
class School(Base):
    __tablename__ = "school"

    id = Column(Integer,primary_key=True,autoincrement=True)
    name = Column(String,unique=True)


# 创建数据库链接
engine = create_engine(
        "mysql+pymysql://root:DragonFire@localhost:3306/dragon?charset=utf8",
        max_overflow=0,  # 超过连接池大小外最多创建的连接
        pool_size=5,  # 连接池大小
        pool_timeout=30,  # 池中没有线程最多等待的时间,否则报错
        pool_recycle=-1  # 多久之后对线程池中的线程进行一次连接的回收(重置)
    )


# 通过Base.metadata找到所有继承 Base 的数据表class
Base.metadata.create_all(engine)

# SQLAlchemy数据表进行修改后,无法直接进行更新,只能删除表后进行操作,重新进行操作

创建基类和第一张数据表
创建基类和第一张数据表

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-24
  • 2021-09-19
  • 2021-06-04
  • 2022-01-05
猜你喜欢
  • 2021-06-12
  • 2022-01-13
  • 2021-08-31
  • 2021-09-01
相关资源
相似解决方案