flask连接MySQL用sqlalchemy
时间: 2023-11-14 08:22:14 浏览: 156
flask-MySql
1. 安装MySQL数据库和Python的MySQL驱动
在本地安装MySQL数据库并启动,然后使用pip安装Python的MySQL驱动,如下所示:
```
pip install mysql-connector-python
```
2. 创建Flask项目并安装sqlalchemy
使用Flask创建一个新的项目,并安装sqlalchemy,如下所示:
```
pip install flask-sqlalchemy
```
3. 配置数据库连接
在Flask项目的配置文件中添加数据库连接配置,如下所示:
```
SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://user:password@host/database'
SQLALCHEMY_TRACK_MODIFICATIONS = False
```
其中,user为MySQL数据库的用户名,password为密码,host为MySQL数据库的主机名或IP地址,database为数据库名。
4. 创建数据模型
使用sqlalchemy创建数据模型,如下所示:
```python
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
__tablename__ = 'users'
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
```
5. 初始化数据库
在Flask项目的入口文件中初始化数据库,如下所示:
```python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://user:password@host/database'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
if __name__ == '__main__':
db.create_all()
app.run()
```
6. 使用数据模型进行数据库操作
在Flask项目的路由中使用数据模型进行数据库操作,如下所示:
```python
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+mysqlconnector://user:password@host/database'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
@app.route('/users')
def get_users():
users = User.query.all()
return str(users)
if __name__ == '__main__':
app.run()
```
以上是使用Flask连接MySQL数据库并使用sqlalchemy进行数据库操作的步骤。
阅读全文