<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        PythonORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例

        來源:懂視網 責編:小采 時間:2020-11-27 14:38:23
        文檔

        PythonORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例

        PythonORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例:最近正好在尋求一種Python的數據庫ORM (Object Relational Mapper),SQLAlchemy (項目主頁)這個開源項目進入了我的視線,本來想嘗試著使用Django的ORM模塊的,無奈Django的模塊聯系比較緊密,沒能單獨分拆下來,一定程度上說明Django自成體系的生態系統
        推薦度:
        導讀PythonORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例:最近正好在尋求一種Python的數據庫ORM (Object Relational Mapper),SQLAlchemy (項目主頁)這個開源項目進入了我的視線,本來想嘗試著使用Django的ORM模塊的,無奈Django的模塊聯系比較緊密,沒能單獨分拆下來,一定程度上說明Django自成體系的生態系統

        最近正好在尋求一種Python的數據庫ORM (Object Relational Mapper),SQLAlchemy (項目主頁)這個開源項目進入了我的視線,本來想嘗試著使用Django的ORM模塊的,無奈Django的模塊聯系比較緊密,沒能單獨分拆下來,一定程度上說明Django自成體系的生態系統在給我們帶來快速便捷的開發環境的同時犧牲了組裝的靈活性。

        初次學習,也沒實質感覺到SQLAlchemy的好處,不過看其介紹的很多大公司均采用該項目,而且其支持的數據庫還是蠻豐富的,所以我覺得花點時間研究還是值得的。不過令人遺憾的是關于SQLAlchemy的中文資料比較少,所以對于我們這種英語不佳的帶來了一定的麻煩。

        研究一個項目最好的辦法就是閱讀其官方提供的說明文檔,當然很輕松就找到了SQLAlchemy的文檔 (0.7)。文檔的格式和大多數項目一樣,有下載安裝說明,有示例,有快速上手教程。不過我還是習慣下載個PDF慢慢研究。

        下面就將我近期的閱讀學習做個筆記,當然這個僅供參考,里面可能有自己的一些猜測和想法,不作權威依據,不當之處還希望指出。

        1. 安裝SQLAlchemy

        安裝部分不打算詳細介紹,可以通過easy_install或者pip進行安裝,命令如下:

        代碼如下:

        easy_install SQLAlchemy
        # 或者
        pip install SQLAlchemy


        當然我使用的是Windows環境,所以傾向于使用setup.py安裝,下載壓縮包,解壓,然后命令提示符下切換到該目錄,再運行下面的命令:

        代碼如下:


        python setup.py install


        這里需要注意的是默認安裝會編譯安裝C擴展,這些C擴展將直接編譯為二進制本機代碼然后為SQLAlchemy處理數據集加速,這個是很不錯的功能,遺憾的是Windows下提示編譯安裝擴展失敗,當然這不影響SQLAlchemy的使用,只是作為性能上的優化,本機開發環境可以不需要這些擴展,如果不需要可以嘗試下面的命令:

        代碼如下:


        pip install --global-option='--without-cextensions' SQLAlchemy
        # 或者setup.py方式
        python setup.py --without-cextensions install


        好了,到這里安裝部分我就簡單介紹完了,如果對這部分感興趣的話可以移步文檔。

        最后可以檢驗一下安裝成果:

        代碼如下:


        >>> import sqlalchemy
        >>> sqlalchemy.__version__
        0.7.0

        2. 簡單的查詢

        就像任何新語言都是從萬能的'Hello World'開始一樣,先簡單體驗一把SQLAlchemy,由于SQLAlchemy是管理數據庫的,所以我們需要一個數據庫,自從用了Python以后,一提到數據庫,拿來做實驗的首當其沖的就是Python自帶的SQLite3,這次我們連SQLite的數據庫文件都不需要指定了,直接創建一份基于內存的數據庫,也就是說數據文件存放在內存中,便于我們下面的測試。

        我們使用create_engine創建數據庫連接引擎:

        代碼如下:


        >>> from sqlalchemy import create_engine
        >>> engine = create_engine('sqlite:///:memory:', echo=True)


        create_engine的第一個參數'sqlite:///:memory:'我們知道是建立數據庫連接的,那第二個參數echo=True是做什么的呢,其實如果echo=True那么SQLAlchemy將會通過Python標準模塊logging來輸出日志,如果你在操作交互式命令控制臺,一些信息將會被輸出,這里我們可能會看到SQLAlchemy生成的一些SQL語句,這個對于我們學習和調試是很有必要的,所以在這里我們將其設置為True,否則,如果不愿意SQLAlchemy這么啰嗦的話可以設置為False,這樣就看不到這些信息啦。

        create_engine()將會返回一個Engine引擎實例(instance),其代表著SQLAlchemy對于數據庫的核心接口,其隱藏了各種數據庫方言(dialect)的細節,實際上SQLAlchemy的底層是Python的DBAPI。

        需要注意的是此時并沒有實質上與數據庫建立連接,什么時候才會與數據庫真正建立連接呢?這個只會在你第一次查詢數據庫的時候發生。呃…這個有點像Lazy Loading (懶惰加載,延遲加載),也就是說我們需要真正操作數據庫的時候才真正建立連接。SQLAlchemy很多地方用到了Lazyload,以后會有機會和大家介紹的。

        接下來我們來執行第一條SQL語句,同時建立數據庫連接:

        代碼如下:


        >>> engine.execute("select 1").scalar()
        1


        好了,當engine.execute執行時,Engine終于建立起實質上數據庫連接了。

        Engine對于數據庫連接的管理采取的是數據庫連接池 (Pool),當連接第一次建立,SQLAlchemy將會將建立的連接放入內部的連接池中以便于隨后的數據操作語句執行時復用。

        當然關于Engine的用法并不是SQLAlchemy精彩的ORM部分,隨后我們會介紹將Engine綁定到ORM,然后使用對象來操作數據庫部分。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        PythonORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例

        PythonORM框架SQLAlchemy學習筆記之安裝和簡單查詢實例:最近正好在尋求一種Python的數據庫ORM (Object Relational Mapper),SQLAlchemy (項目主頁)這個開源項目進入了我的視線,本來想嘗試著使用Django的ORM模塊的,無奈Django的模塊聯系比較緊密,沒能單獨分拆下來,一定程度上說明Django自成體系的生態系統
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲黄页网在线观看| 亚洲国产系列一区二区三区| 国产亚洲精彩视频| 亚洲五月午夜免费在线视频| 伊人免费在线观看高清版| 综合亚洲伊人午夜网 | 成人免费视频77777| 亚洲成人福利网站| 成人免费午夜在线观看| 亚洲宅男精品一区在线观看| 日韩一区二区a片免费观看 | 亚洲熟妇少妇任你躁在线观看| 免费A级毛片无码免费视| 亚洲av永久无码精品秋霞电影秋| 无码国模国产在线观看免费 | 亚洲精品综合久久中文字幕| 色多多免费视频观看区一区| 91精品手机国产免费| 日韩亚洲变态另类中文| 日韩a级无码免费视频| 亚洲视频在线观看免费| 色爽黄1000部免费软件下载| 好男人www免费高清视频在线| 亚洲中文字幕乱码AV波多JI | 国产高清视频在线免费观看| 四虎影视久久久免费| 亚洲国产另类久久久精品黑人| 风间由美在线亚洲一区| 亚洲精品无码日韩国产不卡?V| 亚洲精品美女网站| 伊在人亚洲香蕉精品区麻豆| 国内精品久久久久影院亚洲| 内射无码专区久久亚洲| 99精品免费观看| 国产亚洲一卡2卡3卡4卡新区| 在线播放亚洲第一字幕| 亚洲中文无码永久免费| 一级毛片aa高清免费观看| 五月天婷亚洲天综合网精品偷| 爱丫爱丫影院在线观看免费| 日韩亚洲国产高清免费视频|