SQLAlchemy查询相关操作

本文介绍了使用SQLAlchemy进行数据库查询的相关操作,包括:1) 使用order_by()进行排序,可指定asc/desc;2) limit和offset结合用于分页查询,切片操作亦可实现类似功能;3) group_by()进行数据分组;4) having()对分组后的数据进行条件过滤。示例代码展示了如何操作数据库表student,涉及字段包括sid、sname、age和sex。
摘要由CSDN通过智能技术生成

SQLAlchemy查询相关操作

首先建立数据库表student,表中有sid字段(数值型、主键、自增),sname字段(字符串类型)、age字段(字符串类型)、sex字段(枚举型,“男”和“女”)。代码如下,

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

HOSTNAME = '127.0.0.1'
PORT = '3306'
USERNAME = 'root'
PASSWORD = '******'
DATABASE = 'sqlalchemy'
DB_URI = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8mb4'.format(USERNAME, PASSWORD, HOSTNAME, PORT, DATABASE)

engine = create_engine(DB_URI)

Base = declarative_base(engine)

session = sessionmaker(engine)()


class Student(Base):
    __tablename__ = 'student'
    sid = Column(Integer, primary_key=True, autoincrement=True)
    sname = Column(String(10))
    age = Column(Integer)
    sex = Column(Enum('男', '女'))

    def __repr__(self):
        return "Student(sname:{}, sid:{}, age:{}, sex:{})".format(self.sname, self.sid, self.age, self.sex)


Base.metadata.drop_all()
Base.metadata.create_all()

插入下列数据,

student1 = Student(sname='zhao', age=22, sex='男')
student2 = Student(sname='qian', age=20, sex='男')
student3 = Student(sname='sun', age=23, sex='女')
student4 = Student(sname='li', age=21, sex='男')
student5 = Student(sname='zhou', age=26, sex='男')
student6 = Student(sname='wu', age=25, sex='女')
student7 = Student(sname='zheng', age=24, sex='男')
student8 = Student(sname='wang', age=32, sex='女')
student9 = Student(sname=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值