Flask框架之SQLAlchemy对数据的增删改查操作

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()

发布了354 篇原创文章 · 获赞 4 · 访问量 7802

猜你喜欢

转载自blog.csdn.net/weixin_44733660/article/details/104065928