1. 程式人生 > 實用技巧 >Flask 資料庫 SQLAlchemy

Flask 資料庫 SQLAlchemy

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 中是 mysqldb 
4 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() 將模型真正建立到資料庫中