Flask 資料庫 SQLAlchemy
阿新 • • 發佈:2020-07-26
Python 版本: 3.7.8
### Flask-SQLAlchemy 的介紹與安裝:
1. ORM: Object Relationship Mapping (模型關係對映)
2. flask-sqlalchemy 是一套 ORM 框架
3. ORM 的優勢:簡單方便地操作資料庫,和操作物件類似。一個表抽象成一個類,一條資料抽象成該類的一個物件。
4. 安裝 flask-sqlalchemy
### Flask-SQLAlchemy 的使用:
1. 初始化和設定資料庫配置資訊:
* 使用 flask_sqlalchemy 中的 SQLAlchemy 進行初始化:
1 from flask_sqlalchemy import SQLAlchemy 2 import config 3 4 app = Flask(__name__) 5 app.config.from_object(config) 6 db = SQLAlchemy(app)
2. 設定配置資訊,在 'config.py' 檔案中新增以下:
1 # dialect+driver://username:password@host:port/database 2 DIALECT = 'mysql' 3 DRIVER = 'pymysql' # 驅動程式在 python2 中是 mysqldb4 USERNAME = 'pydev' 5 PASSWORD = 'syjinsari' 6 HOST = '192.168.0.110' 7 PORT = '3306' 8 DATABASE = 'py_demo' 9 10 SQLALCHEMY_DATABASE_URL = '{}+{}://{}:{}@{}:{}/{}?charset=utf8'.format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE) 11 12 SQLALCHEMY_TRACK_MODIFICATIONS = False
3. 在主 app 檔案中新增配置檔案:
1 app = Flask(__name__) 2 app.config.from_object(config) 3 db = SQLAlchemy(app)
4. 測試連線,成功或者報錯:
''' db.create_all() '''
### 使用 Flask-SQLAlchemy 建立模型與表的對映:
1. 模型需要繼承自 `db.Model` ,然後對映到表中的屬性,必須寫成 `db.Column`的資料型別。
2. 資料型別:db.Integer db.String db.Text
其他引數: primary_key autoincrement nullable
3. 最後呼叫 `db.create_all() 將模型真正建立到資料庫中