最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

適合Python項(xiàng)目的五大SQL連接器

 更新時(shí)間:2021年09月13日 16:27:32   作者:陳峻  
這篇文章,將要介紹當(dāng)前流行的、適合大多數(shù)Python程序員的、五大Python SQL數(shù)據(jù)庫(kù)連接器,并討論它們安裝和各種的優(yōu)缺點(diǎn)。需要的噴朋友可以參考下面文章的具體內(nèi)容

【51CTO.com快譯】 作為一種驅(qū)動(dòng)程序,數(shù)據(jù)庫(kù)連接器(database connector)的工作方式類似于,我們將軟件接口連接到特定的數(shù)據(jù)庫(kù)上,以實(shí)現(xiàn)適配器的基本功能?,F(xiàn)如今,Python已經(jīng)成為了一種在全球范圍內(nèi),被廣為使用的編程語(yǔ)言。因此,我們有必要了解與Python有關(guān)的數(shù)據(jù)庫(kù)連接器。

通常,我們可以通過(guò)作為Python標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)接口的Python DB-API,將MySQLdb模塊運(yùn)用于MySQL之上。不過(guò),由于該模塊獨(dú)立于任何其他數(shù)據(jù)庫(kù)引擎,因此我們需要額外地通過(guò)編寫(xiě)Python腳本,來(lái)實(shí)現(xiàn)對(duì)于其他數(shù)據(jù)庫(kù)引擎的訪問(wèn)。而且,該API與Python 3并不兼容,因此我們需要用到各種Python類型的數(shù)據(jù)庫(kù)連接器。接下來(lái)我們就來(lái)看一下適合大多數(shù)Python程序員的、五大Python SQL數(shù)據(jù)庫(kù)連接器,及它們安裝的各種優(yōu)缺點(diǎn)

1. PyMySQL(https://pypi.org/project/PyMySQL/)

如您所知,MySQL是業(yè)界領(lǐng)先的,多用戶、多線程的開(kāi)源式數(shù)據(jù)庫(kù)管理系統(tǒng)。它在Web項(xiàng)目的開(kāi)發(fā)中倍受歡迎。

安裝與使用:

我們可以通過(guò)運(yùn)行如下命令,在自己的PC上安裝PyMySQL:

bash 
pip install pymysql 


完成安裝后,我們可以通過(guò)運(yùn)行如下Python代碼,來(lái)測(cè)試數(shù)據(jù)庫(kù)連接器:

import pymysql 
con = pymysql.connect('localhost', 'username', 
    'password', 'db_name'') 
with con. cursor()  as cur: 
    cur.execute('SELECT VERSION()') 
    version = cur.fetchone() 
    print(f'Database version: {version[0]}') 
con.close() 


優(yōu)點(diǎn):

  • 其大多數(shù)公共API都與mysqlclientMySQLdb相兼容。
  • 同時(shí)支持Python 23
  • 能夠支持MySQL和MariaDB服務(wù)器。

缺點(diǎn):

不支持由MySQL提供的低級(jí)API,其中包括:data_seek、store_result use_result等。

2. MySQLdb(https://mysqlclient.readthedocs.io/user_guide.html)

作為MySQL數(shù)據(jù)庫(kù)服務(wù)器上能夠兼容線程(thread-compatible)的接口,MySQLdb提供了針對(duì)Python數(shù)據(jù)庫(kù)的API。

安裝與使用:

您可以通過(guò)運(yùn)行如下命令,在自己的PC上安裝MySQLdb模塊:

bash 
# For Ubuntu, use the following command - 
sudo apt-get install python-pip python-dev libmysqlclient-dev 
# For Fedora, use the following command - 
sudo dnf installPythonpython-devel mysql-devel redhat-rpm-config gcc 
#ForPythoncommand prompt, use the following command - 
pip install MySQL-python 


也可以通過(guò)運(yùn)行如下Python代碼,來(lái)使用該連接器:

from MySQLdb import _mysql 
db=_mysql.connect() 
db=_mysql.connect(host="localhost",user="username", 
                  passwd="password",db="db_name") 


優(yōu)點(diǎn):

  • 由于是用C語(yǔ)言構(gòu)建的,因此其運(yùn)行的速度非??臁?/li>
  • 屬于純粹的SQL。
  • 能夠支持MySQL。

缺點(diǎn):

  • 并不支持Python 3。
  • 需要自行編寫(xiě)SQL代碼。
  • 不但需要自行管理指針,而且無(wú)法進(jìn)行任何緩存、或參數(shù)化。
  • 如果不重寫(xiě)所有的數(shù)據(jù)庫(kù)代碼,則無(wú)法切換到不同的數(shù)據(jù)庫(kù)后端。

3. QTSQL(https://doc.qt.io/qt-5/qtsql-index.html)

作為另一種數(shù)據(jù)庫(kù)連接器,QTSQL可被用于將數(shù)據(jù)庫(kù)與各種PYQT5應(yīng)用程序相集成。值得注意的是,由于QT是一種GUI工具包,因此QTSQL主要被用于UI類應(yīng)用程序。

安裝與使用:

由于QTSQL已經(jīng)預(yù)安裝了PYQT5,因此您可以通過(guò)如下Python代碼,導(dǎo)入對(duì)應(yīng)的模塊。

from PyQt5 import QtSql 


并且通過(guò)如下代碼段,連接到數(shù)據(jù)庫(kù)上:

self.QSqlDatabase.addDatabase("QMYSQL") 
self.db.setHostName("host_name") 
self.db.setDatabaseName("database_name") 
self.db.setUserName("username") 
self.db.setPassword("password") 


在上述代碼中,QSqlDatabase.addDatabase的第一個(gè)參數(shù),可用于添加驅(qū)動(dòng)程序,其中包括:QPSQL、QMYSQL、QOCI、QODBC、以及QSQLITE等。緊接著的四行命令:setHostName()、setDatabaseName()、setUserName()和setPassword(),可用于初始化數(shù)據(jù)庫(kù)連接。此外,在完成初始化后,您還可以通過(guò)調(diào)用QSqlDatabase.open(),以打開(kāi)并訪問(wèn)數(shù)據(jù)庫(kù)。

優(yōu)點(diǎn):

  • 僅可以使用各種Qt庫(kù)。
  • 由于它能夠與Qt的各種標(biāo)準(zhǔn)小部件相集成,因此可以返回Qt對(duì)象。
  • 可以使用任何支持Qt的數(shù)據(jù)庫(kù)后端(如:MySQL、SQLite等)。

缺點(diǎn):

  • 需要自行編寫(xiě)SQL。

4. Psycopg2(https://pypi.org/project/psycopg2/)

Psycopg Python編程語(yǔ)言中最流行的PostgreSQL數(shù)據(jù)庫(kù)適配器。它的主要特點(diǎn)是完整地實(shí)現(xiàn)了PythonDB API 2.0的規(guī)范和線程的安全性(即,多個(gè)線程可以共享同一個(gè)連接)。由于它是為具有大量多線程的應(yīng)用程序而設(shè)計(jì)的,因此此類應(yīng)用不但會(huì)創(chuàng)建和銷毀大量的指針,而且會(huì)生成大量并發(fā)的INSERTUPDATE。

安裝和指南:

可以通過(guò)運(yùn)行如下命令,在自己的PC上安裝psycopg2

bash 
 
pip install psycopg2 


完成安裝后,請(qǐng)運(yùn)行如下Python代碼:

import psycopg2
try:
    conn = psycopg2.connect("dbname='template1' user='dbuser' host='localhost' password='dbpass'")
except:
    print "I am unable to connect to the database"
cur = conn.cursor()
cur.execute("""SELECT datname from pg_database""")

優(yōu)點(diǎn):

  • 快速高效。
  • 支持多種連接、以及各種連接對(duì)象。
  • 支持各種異步查詢。

缺點(diǎn):

  • 缺乏相應(yīng)的文檔。

5. SuperSQLite(https://github.com/plasticityai/supersqlite)

作為一個(gè)針對(duì)Python的超級(jí)SQLite庫(kù)和驅(qū)動(dòng)程序,SuperSQLite將原有內(nèi)置的SQLite包,替換成了為每個(gè)平臺(tái)原生的、預(yù)編譯好(pre-compiled)的新版本SQLite,及其SQLite擴(kuò)展。

安裝和指南:

可以通過(guò)運(yùn)行如下命令,在自己的PC上安裝SuperSQLite:

bash  
pip install supersqlite 


完成安裝后,運(yùn)行如下Python代碼即可使用:

from supersqlite import sqlite3  
conn = sqlite3.connect('databasefile.db')  


優(yōu)點(diǎn):

  • 快速高效。
  • 可以通過(guò)HTTP協(xié)議實(shí)現(xiàn)遠(yuǎn)程流式傳輸。
  • 可以實(shí)現(xiàn)全文檢索。

暫未發(fā)現(xiàn)顯著的缺點(diǎn)。

小結(jié):
綜上所述,我們一同了解了何為數(shù)據(jù)庫(kù)連接器、為何要在Python中使用數(shù)據(jù)庫(kù)連接器,以及五種最常用的Python SQL數(shù)據(jù)庫(kù)連接器。此外,我們還討論了每種連接器的安裝步驟,及其各自的優(yōu)缺點(diǎn)。

到此這篇關(guān)于適合Python項(xiàng)目的五大SQL連接器的文章就介紹到這了,更多相關(guān)適合Python的五大SQL連接器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)用日期時(shí)間處理方法匯總

    Python實(shí)用日期時(shí)間處理方法匯總

    這篇文章主要介紹了Python實(shí)用日期時(shí)間處理方法匯總,本文講解了獲取當(dāng)前datetime、獲取當(dāng)天date、獲取明天/前N天、獲取當(dāng)天開(kāi)始和結(jié)束時(shí)間(00:00:00 23:59:59)、獲取兩個(gè)datetime的時(shí)間差、獲取本周/本月/上月最后一天等實(shí)用方法 ,需要的朋友可以參考下
    2015-05-05
  • python可迭代類型遍歷過(guò)程中數(shù)據(jù)改變會(huì)不會(huì)報(bào)錯(cuò)

    python可迭代類型遍歷過(guò)程中數(shù)據(jù)改變會(huì)不會(huì)報(bào)錯(cuò)

    這篇文章主要介紹了python可迭代類型遍歷過(guò)程中數(shù)據(jù)改變會(huì)不會(huì)報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python中使用socks5設(shè)置全局代理的方法示例

    Python中使用socks5設(shè)置全局代理的方法示例

    這篇文章主要介紹了Python中使用socks5設(shè)置全局代理的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python實(shí)現(xiàn)讀取文件的方法總結(jié)

    Python實(shí)現(xiàn)讀取文件的方法總結(jié)

    這篇文章主要為大家詳細(xì)介紹了Python中實(shí)現(xiàn)讀取文件效果的幾種方法總結(jié),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-09-09
  • Python編程O(píng)penCV和Numpy圖像處理庫(kù)實(shí)現(xiàn)圖片去水印

    Python編程O(píng)penCV和Numpy圖像處理庫(kù)實(shí)現(xiàn)圖片去水印

    這篇文章主要介紹了Python編程中如何實(shí)現(xiàn)圖片去水印本文采用了OpenCV和Numpy的圖像處理的方法來(lái)實(shí)現(xiàn),文中附含詳細(xì)示例代碼,有需要的朋友可以借鑒參考下
    2021-09-09
  • 教你如何編寫(xiě)、保存與運(yùn)行Python程序的方法

    教你如何編寫(xiě)、保存與運(yùn)行Python程序的方法

    這篇文章主要介紹了教你如何編寫(xiě)、保存與運(yùn)行Python程序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 運(yùn)行python腳本更改Windows背景

    運(yùn)行python腳本更改Windows背景

    這篇文章主要介紹了運(yùn)行python腳本更改Windows背景,使用常用的命令更改桌面背景,以更改ctype中的系統(tǒng)參數(shù),下面來(lái)看看具體得更改過(guò)程吧
    2022-01-01
  • Python自動(dòng)巡檢H3C交換機(jī)實(shí)現(xiàn)過(guò)程解析

    Python自動(dòng)巡檢H3C交換機(jī)實(shí)現(xiàn)過(guò)程解析

    這篇文章主要介紹了Python自動(dòng)巡檢H3C交換機(jī)實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 基于Python列表解析(列表推導(dǎo)式)

    基于Python列表解析(列表推導(dǎo)式)

    今天小編就為大家分享一篇基于Python列表解析(列表推導(dǎo)式),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • python通過(guò)zlib實(shí)現(xiàn)壓縮與解壓字符串的方法

    python通過(guò)zlib實(shí)現(xiàn)壓縮與解壓字符串的方法

    這篇文章主要介紹了python通過(guò)zlib實(shí)現(xiàn)壓縮與解壓字符串的方法,較為詳細(xì)的介紹了zlib的用法及使用zlib.compressobj和zlib.decompressobj對(duì)文件進(jìn)行壓縮解壓的方法,需要的朋友可以參考下
    2014-11-11

最新評(píng)論

成都市| 巴南区| 河津市| 龙海市| 阿克陶县| 张掖市| 固安县| 柘城县| 铅山县| 莱州市| 柏乡县| 榕江县| 徐州市| 邻水| 河源市| 连江县| 达孜县| 手游| 新安县| 拉萨市| 贺兰县| 徐州市| 南康市| 海阳市| 清丰县| 罗山县| 叙永县| 鹿邑县| 星子县| 苍南县| 天台县| 梅河口市| 牡丹江市| 慈利县| 衡阳市| 资溪县| 太和县| 洛浦县| 泽库县| 毕节市| 乾安县|