from flask_sqlalchemy import SQLAlchemy具体教程
时间: 2023-11-13 14:04:25 浏览: 116
Flask中sqlalchemy模块的实例用法
1. 安装Flask和Flask_SQLAlchemy
首先,在命令行中使用pip安装Flask和Flask_SQLAlchemy:
```
pip install Flask Flask_SQLAlchemy
```
2. 创建Flask应用程序
在Python文件中导入Flask和SQLAlchemy模块:
```python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
```
创建Flask应用程序:
```python
app = Flask(__name__)
```
3. 配置数据库
在Flask应用程序中配置数据库,可以使用SQLite、MySQL、PostgreSQL等不同类型的数据库。
```python
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
```
这里我们使用SQLite数据库,并且禁用了对模型修改的跟踪。
4. 初始化SQLAlchemy
在Flask应用程序中初始化SQLAlchemy:
```python
db = SQLAlchemy(app)
```
5. 创建模型
创建一个模型类,定义数据表的结构:
```python
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
```
这里我们定义了一个User类,它继承自db.Model类,表示它是一个数据库模型。
User类中定义了三个属性:id、username和email,分别表示用户的ID、用户名和邮箱。其中,id属性是一个自增的整数类型,是数据表的主键;username和email属性分别是字符串类型,是唯一的、不可为空的。
6. 创建数据表
使用db.create_all()方法来创建数据表:
```python
db.create_all()
```
7. 添加数据
```python
user1 = User(username='Alice', email='alice@example.com')
user2 = User(username='Bob', email='bob@example.com')
db.session.add(user1)
db.session.add(user2)
db.session.commit()
```
8. 查询数据
```python
users = User.query.all()
```
9. 修改数据
```python
user = User.query.filter_by(username='Alice').first()
user.email = 'alice@example.org'
db.session.commit()
```
10. 删除数据
```python
user = User.query.filter_by(username='Alice').first()
db.session.delete(user)
db.session.commit()
```
11. 关闭数据库连接
```python
db.session.close()
```
阅读全文