sqlalchemy 實際上是對資料庫的抽象,讓開發者不用直接和 sql 語句打交道,而是通過 python 物件來運算元據庫,在捨棄一些效能開銷的同時,換來的是開發效率的較大提公升
sqlalchemy是乙個關係型資料庫框架,它提供了高層的 orm 和底層的原生資料庫的操作。flask-sqlalchemy 是乙個簡化了 sqlalchemy 操作的flask擴充套件
1.安裝 flask-sqlalchemy
pip install flask-sqlalchemy
如果連線的是 mysql 資料庫,需要安裝 mysqldb
pip install flask-mysqldb
2.資料庫連線設定
在 flask-sqlalchemy 中,資料庫使用url指定,而且程式使用的資料庫必須儲存到flask配置物件的 sqlalchemy_database_uri 鍵中
3.其他設定:
# 動態追蹤修改設定,如未設定只會提示警告
#查詢時會顯示原始sql語句
4.配置完成需要去 mysql 中建立專案所使用的資料庫
在終端中輸入:
mysql -uroot -p
create
database test charset utf8;
5.其他設定
名字備註
sqlalchemy_native_unicode
可以用於顯式禁用原生 unicode 支援。當使用不合適的指定無編碼的資料庫預設值時,這對於 一些資料庫介面卡是必須的(比如 ubuntu 上 某些版本的 postgresql )。
sqlalchemy_pool_size
資料庫連線池的大小。預設是引擎預設值(通常是 5 )
sqlalchemy_pool_timeout
設定連線池的連線超時時間。預設是 10 。
sqlalchemy_pool_recycle
多少秒後自動**連線。這對 mysql 是必要的, 它預設移除閒置多於 8 小時的連線。注意如果使用了 mysql , flask-sqlalchemy 自動設定 這個值為 2 小時。
sqlalchemy_database_uri
用於連線的資料庫 uri 。例如:sqlite:tmp/test.dbmysql://username:password@server/db
sqlalchemy_binds
乙個對映 binds 到連線 uri 的字典。更多 binds 的資訊見用 binds 操作多個資料庫。
sqlalchemy_echo
如果設定為ture, sqlalchemy 會記錄所有發給 stderr 的語句,這對除錯有用。
sqlalchemy_record_queries
可以用於顯式地禁用或啟用查詢記錄。查詢記錄 在除錯或測試模式自動啟用。更多資訊見get_debug_queries()。
Flask SQLAlchemy學習總結
配置鍵說明 sqlalchemy database uri 用於連線資料的資料庫。例如 sqlalchemy binds 乙個對映繫結 bind 鍵到 sqlalchemy 連線 uris 的字典。用於繫結多個資料庫 sqlalchemy echo 如果設定成 true sqlalchemy 將會記...
flask SQLAlchemy基本使用
作為資料的操作,最基本的就是增刪改查 常用的sqlalchemy查詢過濾器 過濾器說明 filter 把過濾器新增到原查詢上,返回乙個新查詢 filter by 把等值過濾器新增到原查詢上,返回乙個新查詢 limit 使用指定的值限定原查詢返回的結果 offset 偏移原查詢返回的結果,返回乙個新查...
Flask SQLAlchemy定義模型
模型表示程式使用的資料實體,在flask sqlalchemy中,模型一般是python類,繼承自db.model,db是sqlalchemy類的例項,代表程式使用的資料庫。類中的屬性對應資料庫表中的列。id為主鍵,是由flask sqlalchemy管理。db.column類建構函式的第乙個引數是...