第9天:数据库集成(基础)

73 篇文章 0 订阅
34 篇文章 0 订阅

第9天:数据库集成(基础)

数据库集成简介

数据库是Web应用中存储和检索数据的核心组件。Flask本身不提供ORM(对象关系映射)支持,但可以通过扩展如Flask-SQLAlchemy来实现。

为什么使用SQLAlchemy?

SQLAlchemy是一个Python的ORM工具,它提供了一个高层的ORM以及底层的SQL表达式语言,用于与数据库进行交互。

安装SQLAlchemy
  1. 安装Flask-SQLAlchemy
    pip install Flask-SQLAlchemy
    
配置Flask应用使用SQLAlchemy
  1. 初始化SQLAlchemy
    • 在Flask应用中创建SQLAlchemy实例。

示例初始化SQLAlchemy

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///yourdatabase.db'  # 配置数据库连接字符串
db = SQLAlchemy(app)  # 初始化SQLAlchemy
定义模型
  1. 创建模型类
    • 定义模型类来表示数据库中的表。

示例模型类

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120), unique=True, nullable=False)

    def __repr__(self):
        return '<User %r>' % self.username
迁移管理

对于数据库迁移,Flask推荐使用Flask-Migrate,它是SQLAlchemy迁移工具的Flask包装。

安装Flask-Migrate
  1. 安装Flask-Migrate
    pip install Flask-Migrate
    
初始化Flask-Migrate
  1. 集成Flask-Migrate
    • 初始化Flask-Migrate以管理数据库迁移。

示例集成Flask-Migrate

from flask_migrate import Migrate

migrate = Migrate(app, db)
操作数据库
  1. 创建数据库
    • 使用SQLAlchemy创建数据库。

示例创建数据库

with app.app_context():
    db.create_all()
  1. 添加数据
    • 添加数据到数据库。

示例添加数据

new_user = User(username='JohnDoe', email='john@example.com')
db.session.add(new_user)
db.session.commit()
  1. 查询数据
    • 查询数据库。

示例查询数据

user = User.query.filter_by(username='JohnDoe').first()
if user:
    print(user.email)
会话和事务
  1. 管理会话和事务
    • Flask使用会话来追踪对数据库的更改,并在事务中提交这些更改。
结语

今天,我们学习了如何在Flask中集成数据库,并使用SQLAlchemy和Flask-Migrate来管理数据库模型和迁移。理解数据库集成对于构建数据驱动的Web应用至关重要。


记得在你的Flask应用中实现数据库集成,并尝试创建、查询和更新数据。这是一个很好的实践机会,可以帮助你加深对数据库操作的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值