Flask-SQLAlchemy 是一個flask 擴展,簡化了在Flask 程序中使用 SQLAlchemy 的操做,SQLAlchemy 是一個很強大的關係型數據庫框架,支持多種數據庫後臺。python
安裝Flask-SQLAlchemy:pip install Flask-sqlalchemy。mysql
初始化:sql
from flask_sqlalchemy import SQLAlchemy app=Flask(__name__) db=SQLAlchemy(app)
設置配置信息,通常設置在config.py文件中(DATABASE爲數據庫名稱,USERNAME爲用戶名,PASSWORD爲密碼):數據庫
import os DEBUG=True SECRET_KEY=os.urandom(24) HOSTNAME='127.0.0.1' PORT='3306' DATABASE='sql_name' USERNAME='root' PASSWORD='12345678' DB_URI='mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(USERNAME,PASSWORD,HOSTNAME,PORT,DATABASE) SQLALCHEMY_DATABASE_URI=DB_URI SQLALCHEMY_TRACK_MODIFICATIONS=False
主app文件中加入配置文件:flask
app=Flask(__name__) app.config.from_object(config) db=SQLAlchemy(app)
測試:session
db.create_all()
建立模型與表的映射(id爲主鍵而且自增加):app
class User(db.Model): __username__="user" id=db.Column(db.Integer,primary_key=True,autoincrement=True) telephone=db.Column(db.String(11),nullable=False) username=db.Column(db.String(50),nullable=False) password=db.Column(db.String(100),nullable=False)
增長數據:框架
user=User(telephone='18200000000',username='li',password='111111') db.session.add(user) #作事務的提交 db.session.commit()
查找數據:dom
User.query.filter(User.telephone=='18200000000',User.username=='li',User.password=='111111')
修改數據:測試
#先查找出須要修改的數據 user=User.query.filter(User.telephone=='18200000000',User.username=='li',User.password=='111111') #修改數據 user.username='zhou' #作事務的提交 db.session.commit()
刪除數據:
#先查找出須要修改的數據 user=User.query.filter(User.telephone=='18200000000',User.username=='li',User.password=='111111').first() #刪除數據 db.session.delete(user) #作事務的提交 db.session.commit()