零、什麼是SQLAlchemy
SQLAlchemy是 Python 中常用的ORM架構
一、安裝
在指令行中打開虛拟環境,在虛拟環境中輸入如下指令:
pip install flask-sqlalchemy
複制
二、設定連接配接字元串連接配接資料庫
1.初始化sqlalchemy對象
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 初始化sqlalchemy對象
db = SQLAlchemy(app)
@app.route('/')
def index():
return 'index'
if __name__ == '__main__':
app.run(debug=True)
複制
2.設定連接配接字元串
DIALECT = 'mysql' # 所連接配接的資料庫累心
DRIVER = 'mysqldb' # 資料庫驅動名稱
USERNAME = 'root' # 資料庫使用者名
PASSWORD = 'root' # 資料庫密碼
HOST = '127.0.0.1' # 資料庫位址
PORT = '3306' # 資料庫端口号
複制
3.引入配置檔案
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# 引入config
import config
app = Flask(__name__)
# 設定配置
app.config.from_object(config)
# 初始化sqlalchemy對象
db = SQLAlchemy(app)
#驗證是否連接配接正确
db.create_all()
@app.route('/')
def index():
return 'index'
if __name__ == '__main__':
app.run(debug=True)
複制
三、模型與表映射
- 資料庫模型必須內建db.Model
- 如果表名稱沒有指定,将使用類名稱的小寫形式
- 表屬性名稱必須以開頭,以結尾
- 隻要是映射到資料庫的字段,必須=db.Column()
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config
app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
# 資料庫模型必須繼承db.Model
class Article(db.Model):
# 定義表名,如果不指定表名,将使用類名稱的小寫形式,
# 表名屬性必須以__開頭__結尾
__tablename__ = 'article'
# 隻要是映射到資料庫的字段,必須=db.Column()
# 參數解釋
# db.Integer:資料類型,此處為整型
# primary_key:是否是主鍵,此處是主鍵
# autoincrement=True:是否自增長,此處是自增長
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
# db.String(100):最大長度為100的字元串類型
# nullable:是否可以為空
title = db.Column(db.String(100), nullable=False)
content = db.Column(db.Text, nullable=False)
# 映射表
db.create_all()
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run(debug=True)
複制