在Flask中使用SQLAlchemy
使用Flask配合SQLAlchemy可以很方便地实现数据库交互,下面是详细的操作流程和代码演示。
- 安装Flask和SQLAlchemy
使用pip命令安装Flask和SQLAlchemy:
pip install flask sqlalchemy
- 创建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。
- 创建数据模型
使用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等字段。
- 数据库迁移
使用Flask-Migrate库进行数据库迁移,需要先安装flask-migrate:
pip install Flask-Migrate
在终端中执行以下命令创建迁移仓库:
flask db init
然后执行以下命令生成迁移文件:
flask db migrate -m "initial migration"
最后执行以下命令执行迁移:
flask db upgrade
- 数据库操作
对于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对象并将其添加到数据库中,然后对该对象进行了更新和删除,最后查询了所有用户数据并打印输出。
相关文章