SQLAlchemy介绍

SQLAlchemy是一个Python的SQL工具和对象关系映射(ORM)库。它提供了一组用于在Python代码中操作数据库的工具和API,可以用于创建、查询和操作数据库中的表和记录。

SQLAlchemy的特性包括:

  1. 对象关系映射(ORM):SQLAlchemy提供了一个强大的ORM工具,使开发者能够使用Python类和对象来表示数据库中的表和记录。这样可以通过操作对象来实现对数据库进行增删改查操作,而不需要直接编写SQL语句。
  2. 数据库连接管理:SQLAlchemy提供了连接池和连接管理器,帮助开发者管理和复用数据库连接,提高性能和效率。
  3. 查询构建器:SQLAlchemy提供了灵活的查询构建器,可以使用Python代码来构建复杂的数据库查询语句,支持条件筛选、排序、分页等操作。
  4. 事务支持:SQLAlchemy支持事务操作,可以确保在数据库操作中的多个步骤中保持数据的一致性和完整性。
  5. 支持多种数据库后端:SQLAlchemy支持多种常见的数据库后端,如MySQL、PostgreSQL、SQLite等,开发者可以根据自己的需要选择合适的数据库后端。

SQLAlchemy提供了一个强大而灵活的工具集,使得在Python代码中操作数据库变得更加方便和高效。它不仅简化了数据库操作的复杂性,还提供了更高层次的抽象,使得数据库操作更具可维护性和可扩展性。


from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://username:password@localhost/db_name'
db = SQLAlchemy(app)

# 创建模型类
class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(100), nullable=False)

# 插入数据
new_user = User(name='Alice', email='alice@example.com')
db.session.add(new_user)
db.session.commit()

# 查询数据
users = User.query.all()
for user in users:
    print(user.name, user.email)

# 更新数据
user = User.query.filter_by(name='Alice').first()
user.email = 'new_email@example.com'
db.session.commit()

# 删除数据
user = User.query.filter_by(name='Alice').first()
db.session.delete(user)
db.session.commit()

上述例子中,我们首先创建了一个名为User的模型类,通过继承db.Model来定义了数据库表结构。然后,我们可以使用db.session进行数据库操作,如插入数据、查询数据、更新数据和删除数据。

  1. 在插入数据时,我们创建了一个User对象并将其添加到会话中,然后调用db.session.commit()进行提交。
  2. 在查询数据时,我们使用User.query.all()获取所有用户记录,并通过遍历打印每个用户的姓名和邮箱。
  3. 在更新数据时,我们首先使用User.query.filter_by(name='Alice').first()找到要更新的用户记录,然后修改其邮箱字段,并调用db.session.commit()进行提交。
  4. 在删除数据时,我们首先使用User.query.filter_by(name='Alice').first()找到要删除的用户记录,然后调用db.session.delete(user)将其从会话中删除,并最后调用db.session.commit()进行提交。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能教学实践

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值