在Flask中使用SQLAlchemy

2023-04-05 00:00:00 sqlalchemy flask

使用Flask配合SQLAlchemy可以很方便地实现数据库交互,下面是详细的操作流程和代码演示。

  1. 安装Flask和SQLAlchemy

使用pip命令安装Flask和SQLAlchemy:

pip install flask sqlalchemy
  1. 创建Flask应用实例

在Python文件中创建Flask应用实例:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/dbname'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)

以上代码中,需要替换数据库连接的username、password和dbname。

  1. 创建数据模型

使用SQLAlchemy创建数据模型类,示例代码如下:

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50), nullable=False)
    email = db.Column(db.String(120), nullable=False, unique=True)
    password = db.Column(db.String(50), nullable=False)

    def __repr__(self):
        return f"<User {self.name}>"

以上代码中,定义了一个User类,表示用户模型,其中包含id、name、email和password等字段。

  1. 数据库迁移

使用Flask-Migrate库进行数据库迁移,需要先安装flask-migrate:

pip install Flask-Migrate

在终端中执行以下命令创建迁移仓库:

flask db init

然后执行以下命令生成迁移文件:

flask db migrate -m "initial migration"

最后执行以下命令执行迁移:

flask db upgrade
  1. 数据库操作

对于Flask中使用SQLAlchemy进行数据库操作,首先需要导入数据库模型类,然后可以使用db.session执行各种数据库操作函数,例如增加、删除、修改和查询等操作,示例代码如下:

from models import User

# 增加数据
user = User(name='pidancode.com', email='pidan@code.com', password='123456')
db.session.add(user)
db.session.commit()

# 修改数据
user.name = '皮蛋编程'
db.session.commit()

# 删除数据
db.session.delete(user)
db.session.commit()

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

以上代码中,首先创建了一个User对象并将其添加到数据库中,然后对该对象进行了更新和删除,最后查询了所有用户数据并打印输出。

相关文章