SQLAlchemy之数据的增删改查


数据的增删改查

  • 用session做数据的增删改查操作:

一、构建session对象:

  • 所有和数据库的ORM操作都必须通过一个叫做session的会话对象来实现.

from sqlalchemy.orm import sessionmaker

engine = create_engine(DB_URI)

Base = declarative_base(engine)

session = sessionmaker(engine)()


二、添加对象

  • 创建对象,即创建一条数据:

p1 = Person(name='wukong',age=555,country='china')

  • 将这个对象添加到session会话对象中:

session.add(p1)

  • session中的对象做commit操作(提交):

session.commit()

  • 一次性添加多条数据:

p1 = Person(name='wukong',age=555,country='china')
p2 = Person(name='wuneng',age=444,country='china')
session.add_all([p1,p2])
session.commit()


三、查找对象

  • 查找某个模型对应的那个表中所有的数据

all_person = session.query(Person).all()

  • 使用filter_by来做条件查询

all_person = session.query(Person).filter_by(name='wukong').all()

  • 使用filter来做条件查询

all_person = session.query(Person).filter(Person.name=='wukong').all()

  • 使用get方法查询,get方法是根据id来查找的,只会返回一条数据或者None

person = session.query(Person).get(primary_key)

  • 使用first方法获取结果集中的第一条数据

person = session.query(Person).first()


四、修改对象

  • 首先从数据库中查找对象
  • 然后将这条数据修改为你想要的数据
  • 最后做commit操作就可以修改数据了。

person = session.query(Person).first()
person.name = 'wuneng'
session.commit()
 

五、删除对象

  • 将需要删除的数据从数据库中查找出来
  • 然后使用session.delete方法将这条数据从session中删除
  • 最后做commit操作就可以了。

person = session.query(Person).first()
session.delete(person)
session.commit()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值