python个人学习笔记-sqlalchemy-02

本文介绍了使用Python的SQLAlchemy库进行模糊查询的方法,包括数据查询、更新、删除、统计、分组和排序的操作。通过示例展示了如何利用session对象进行各种数据库操作,如filter_by、one()、all()、count()、group_by()、order_by()及其反序操作。
摘要由CSDN通过智能技术生成

模糊查询

    用法:session.query(类).filter(类.属性.like('%XXX%'))

数据查询方法

    one()和all(),one的结果是tuple,all的结果是list。如果不写one和all,查询的结果为sql。

数据更新

    先查询出数据,在更新数据,最后提交数据。

    用法:对象1=session.query(类).filter_by(属性="value")

              对象1.属性="修改的值"

              session.commit()

数据删除

    查询出数据,调用delete(),最后提交数据。

    用法:对象1=session.query(类).filter_by(属性="value").delete()

             session.commit()

统计

    查询数据后面用count()

    用法:对象1=session.query(类).filter_by(属性="value").count()

             session.commit()

分组

    查询数据后面用gourp_by

    用法:对象1=session.query(类).filter_by(属性="value").group_by()

             session.commit()

排序

    查询数据进行排序oreder_by

    用法:对象1=session.query(类).filter_by(属性="value").order_by()

反序

    用法:对象1=session.query(类).filter_by(属性="value").order_by(class.属性.desc())   

举例:

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

engine=create_engine("mysql+pymysql://root:123456@localhost/python",connect_args={'charset':'utf8'})    #创建数据库连接
DBSession=sessionmaker(bind=engine)        #创建一个session工厂
session=DBSession()

Base=declarative_base()                      #
class Student(Base):
    __tablename__ = 'python_student'
    id = Column(Integer,primary_key = True)
    name = Column(String(20))
    age = Column(Integer)
    address = Column(String(100))
paixu=session.query(Student).order_by(Student.id).all()
for i in paixu:
    print (i.id,i.name,i.age,i.address)

结果:

D:\mypython\venv\Scripts\python.exe D:\mypython\session.py
1 张三 22 北京
3 刘大 25 天津

Process finished with exit code 0


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值