python數據庫連接那些事,同學,你的MySqldb該退休啦!

編程語言 Python MySQL Django 測試開發浪濤 測試開發浪濤 2017-10-18

python數據庫連接那些事,同學,你的MySqldb該退休啦!

各位玩蛇的大佬都知道,使用python連接數據庫是很平常的操作,而Django、各種ORM等模塊底層也必須用到這些數據庫依賴,但是MySqldb、mysql_connector、pymysql、OurSQL、mysqlclient是不是有點傻傻分不清,使用的時候到底應該選哪個?感覺濛濛的,下面就簡單說一下這些模塊的區別,以及現狀。

MySQL-Python

這裡十分不推薦MySQL-Python,首先吐槽下MySQL-Python也就是MySqlDb。

1、環境不好安裝

特別是windows,(ubuntu黨請繞行)因為完全是用c實現的,所以必須安裝了mysql,才能裝上,需要mysql的底層庫,裝這個模塊就得裝個mysql,多霸道。當然在linux,你可以只把mysql的這個庫搞過來,就可以用了,但是折騰過好幾個windows環境後,對這個東西實在是深痛惡覺。

2、不支持py3

現在MySQL-Python不支持py3,當然據說可以打補丁,以某種神奇方式使用,因為肯定有蛋疼的大牛搗鼓,想折騰的小夥伴可以移駕google研究下,但是還是不推薦。

說說優點,不得不說的是,這個模塊對比其他mysql連接模塊穩定而且快速(雖然我並沒有感覺到),但是底層純用c實現的,肯定快,而且存在這麼多年了,穩定是必須的。

mysqlclient

相信這個模塊大家應該用的或者聽說的比較少,但是這個模塊也是實實在在的數據庫連接模塊,這個是從MySQL-Python fork出來的,所以也是純c編寫,速度一流,穩定性一般,支持python3.3,這個的維護者和pymysql是同一群人哦。

OurMysql

這個同樣是由純c編寫的數據庫連接模塊,但是依然不支持py3.看到作者說2012.6.5支持,目測是坑了,沒用過這個模塊,不做介紹。不過如果對數據庫連接速度有極高要求的小夥伴,可以摸索用一下這個。

MySQL-Connector-Python

這個模塊和上面c編寫的就截然不同了,這個模塊完全由純python編寫,血統純正,也就是由此會比上面的三個模塊慢,但是這個模塊有個好爸爸,是由oracle所持有,而且傲嬌的oracle沒有把這個模塊放到pypi,所以你懂得,安裝要自己下載。當然了這個模塊是支持python3,而且也比較穩定,畢竟是大廠出品,用起來體驗很不錯。

PyMySQL

這個模塊是作者積極推薦的模塊,社區活躍,開源,支持pypi,由純python編寫,支持所有的Openstack標準,應該是py裡現在最火的數據庫連接模塊了,而且可以在Django中替代MySqldb,用起來很不錯。

下面是一個簡單的表格對比

python數據庫連接那些事,同學,你的MySqldb該退休啦!

至於連接速度以及使用方法,這裡就不多介紹了。

就先寫到這裡吧!!


歡迎關注浪濤博客,點擊頭像即可進入哦!

點關注,不迷路!!

相關推薦

推薦中...