1、安裝mysql
pip3 install -i https://pypi.douban.com/simple flask-sqlalchemy
2、使用(文件結構blueprint)sql
一、__init__.py數據庫
# 導入並實例化SQLAlchemy from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
注意:a.SQLAlchemy的實例化必須在導入藍圖以前flask
b.必須導入models.py --->儲存ORM類session
二、models.pyapp
a.導入dbspa
b.類必須繼承db.Modelcode
三、__init__.py中的create_app()方法中初始化blog
db.init_app(app)
四、在配置文件中配置文件settings.pysqlalchemy
SQLALCHEMY_DATABASE_URI = "mysql+pymysql://root:密碼@127.0.0.1:3306/數據庫?charset=utf8" SQLALCHEMY_POOL_SIZE = 10 SQLALCHEMY_MAX_OVERFLOW = 5 SQLALCHEMY_TRACK_MODIFICATIONS = False
五、models.py
from sqlalchemy import Column from sqlalchemy import Integer,String from sqlalchemy import create_engine from chun import db class Users(db.Model): __tablename__ = 'users' id = Column(Integer, primary_key=True) name = Column(String(32), index=True, nullable=False) depart_id = Column(Integer)
六、生成表(app上下文) 忽略,能夠經過數據庫遷移進行
離線腳本文件
from 項目名稱 import db,create_app app = create_app() app_ctx = app.app_context() # app_ctx = app/g with app_ctx: # __enter__,經過LocalStack放入Local中 db.create_all() # 調用LocalStack放入Local中獲取app,再去app中獲取配置
七、基於ORM的數據操做
使用的是threding.local
from flask import Blueprint from 項目名稱 import db from 項目名稱 import models ind = Blueprint('ind',__name__) @ind.route('/index') def index(): # 使用SQLAlchemy在數據庫中插入一條數據 # db.session.add(models.Users(name='xx',depart_id=1)) # db.session.commit() # db.session.remove() # 查看數據 result = db.session.query(models.Users).all() print(result) db.session.remove() return 'Index'