使用Python SQLAlchemy庫(kù)的方法?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)公司專注于中大型企業(yè)的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)和網(wǎng)站改版、網(wǎng)站營(yíng)銷服務(wù),追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術(shù)與技術(shù)開(kāi)發(fā)的融合,累計(jì)客戶上千,服務(wù)滿意度達(dá)97%。幫助廣大客戶順利對(duì)接上互聯(lián)網(wǎng)浪潮,準(zhǔn)確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運(yùn)用,我們將一直專注品牌網(wǎng)站建設(shè)和互聯(lián)網(wǎng)程序開(kāi)發(fā),在前進(jìn)的路上,與客戶一起成長(zhǎng)!一、SQLAlchemy簡(jiǎn)介
1.1、SQLAlchemy是什么?
sqlalchemy是一個(gè)python語(yǔ)言實(shí)現(xiàn)的的針對(duì)關(guān)系型數(shù)據(jù)庫(kù)的orm庫(kù)。可用于連接大多數(shù)常見(jiàn)的數(shù)據(jù)庫(kù),比如Postges、MySQL、SQLite、Oracle等。
1.2、為什么要使用SQLAlchemy?
它將你的代碼從底層數(shù)據(jù)庫(kù)及其相關(guān)的SQL特性中抽象出來(lái)。
1.3、SQLAlchemy提供了兩種主要的使用模式
1.4、應(yīng)該選擇哪種模式?
雖然你使用的框架中已經(jīng)內(nèi)置了ORM,但是希望添加更強(qiáng)大的報(bào)表功能,請(qǐng)選用Core。
如果你想在一個(gè)一模式為中心的視圖中查看數(shù)據(jù)(用戶類似于SQL),請(qǐng)使用Core。
如果你的數(shù)據(jù)不需要業(yè)務(wù)對(duì)象,請(qǐng)使用Core。
如果你要把數(shù)據(jù)看作業(yè)務(wù)對(duì)象,請(qǐng)使用ORM。
如果你想快速創(chuàng)建原型,請(qǐng)使用ORM。
如果你需要同事使用業(yè)務(wù)對(duì)象和其他與問(wèn)題域無(wú)關(guān)的數(shù)據(jù),請(qǐng)組合使用Core和ORM。
1.5、連接數(shù)據(jù)庫(kù)
要連接到數(shù)據(jù)庫(kù),需要先創(chuàng)建一個(gè)SQLAlchemy引擎。SQLAlchemy引擎為數(shù)據(jù)庫(kù)創(chuàng)建一個(gè)公共接口來(lái)執(zhí)行SQL語(yǔ)句。這是通過(guò)包裝數(shù)據(jù)庫(kù)連接池和方言(不同數(shù)據(jù)庫(kù)客戶端)來(lái)實(shí)現(xiàn)的。
SQLAlchemy提供了一個(gè)函數(shù)來(lái)創(chuàng)建引擎。在這個(gè)函數(shù)中,你可以指定連接字符串,以及其他一些可選的關(guān)鍵字參數(shù)。
from sqlalchemy import create_engine engine = create_engine('sqlite:///cookies.db') engine1 = create_engine('sqlite:///:memory:') engine2 = create_engine('sqlite://///home/cookiemonster/cookies.db') engine3 = create_engine('sqlite:///c:\\Users\\cookiemonster\\cookies.db') engine_mysql = create_engine('mysql+pymysql://cookiemonster:chocolatechip', '@mysql01.monster.internal/cookies', pool_recycle=3600)