python数据库操作封装_python 笔记 之 复习-数据库操作-封装的操作

'''

复习

数据库操作-封装的操作

'''

from sqlalchemy import create_engine, Integer, String, Column

from sqlalchemy.ext.declarative import declarative_base

from sqlalchemy.orm import sessionmaker

Base = declarative_base()

class Student(Base):

__tablname__ = "student"

id = Column(Integer,primary_key=True)

name = Column(String(50))

age = Column(Integer)

address = Column(String(50))

# 增

def insert(session):

st = Student(id=1005, name='nnn', age=16,

address='zhangjiang')

session.add(st)

session.commit()

#改

def update(session):

st1 = session.query(Student).filter(Student.id == 1001).one()

st1.name = "test"

session.commit()

#查

def select(session):

stu2 = session.query(Student).filter(Student.id == 1001).one()

print(stu2)

#删

def delete(session):

st1 = session.query(Student).filter(Student.id == 1001).delete()

session.commit()

#统计

def count(session):

number = session.query(Student).filter().count()

print("total Student is {0}".format(number))

#分组

def groupBy(session):

groupByName = session.query(Student).group_by(Student.name).one()

groupByAge = session.query(Student).group_by(Student.age).one()

print(groupByName)

print(groupByAge)

for i in groupByAge:

print(i.id,i.name,i.age,i.address)

#排序

def orderBy(session):

orderBy = session.query(Student).order_by(Student.age).all()

orderByDesc = session.query(Student).order_by(Student.age.desc()).all() #反序

print(orderBy)

for i in orderByDesc:

print(i.id,i.name,i.age,i.address)

#初始化,链接数据库,调用函数

def main():

engine = create_engine('mysql+pymysql://chen:123456@192.168.4.10/sqlalchemy')

DBsession = sessionmaker(bind=engine)

session = DBsession()

select(session)

update(session)

select(session)

delete(session)

count(session)

groupBy(session)

orderBy(session)

if __name__ == '__main__':

main()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值