成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

適合Python項目的五大SQL連接器

譯文
開發 后端
在本文中,您將了解到何為數據庫連接器、為何要在Python中使用數據庫連接器,以及五種最常用的Python SQL數據庫連接器。此外,本文也介紹了每種連接器的安裝步驟,及其各自的優缺點。

[[423475]]

【51CTO.com快譯】作為一種驅動程序,數據庫連接器(database connector)的工作方式類似于,我們將軟件接口連接到特定的數據庫上,以實現適配器的基本功能。現如今,Python已經成為了一種在全球范圍內,被廣為使用的編程語言。因此,我們有必要了解與Python有關的數據庫連接器。

通常,我們可以通過作為Python標準數據庫接口的Python DB-API,將MySQLdb模塊運用于MySQL之上。不過,由于該模塊獨立于任何其他數據庫引擎,因此我們需要額外地通過編寫Python腳本,來實現對于其他數據庫引擎的訪問。而且,該API與Python 3并不兼容,因此我們需要用到各種Python類型的數據庫連接器。

下面,我將向您介紹當前流行的、適合大多數Python程序員的、五大Python SQL數據庫連接器,并討論它們安裝和各種的優缺點。

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

如您所知,MySQL是業界領先的,多用戶、多線程的開源式數據庫管理系統。它在Web項目的開發中倍受歡迎。

安裝與使用

您可以通過運行如下命令,在自己的PC上安裝PyMySQL:

  1. bash 
  2.  
  3. pip install pymysql 

完成安裝后,我們可以通過運行如下Python代碼,來測試數據庫連接器:

  1. import pymysql 
  2. con = pymysql.connect('localhost''username'
  3.     'password''db_name’'
  4. with con.cursor() as cur: 
  5.     cur.execute('SELECT VERSION()'
  6.     version = cur.fetchone() 
  7.     print(f'Database version: {version[0]}'
  8. con.close() 

優點

  • 其大多數公共API都與mysqlclient和MySQLdb相兼容。
  • 同時支持Python 2和3。
  • 能夠支持MySQL和MariaDB服務器。

缺點

  • 不支持由MySQL提供的低級API,其中包括:data_seek、store_result和 use_result等。

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

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

安裝與使用

您可以通過運行如下命令,在自己的PC上安裝MySQLdb模塊:

  1. bash 
  2. For Ubuntu, use the following command - 
  3. sudo apt-get install python-pip python-dev libmysqlclient-dev 
  4. For Fedora, use the following command - 
  5. sudo dnf installPythonpython-devel mysql-devel redhat-rpm-config gcc 
  6. #ForPythoncommand prompt, use the following command - 
  7. pip install MySQL-python 

您也可以通過運行如下Python代碼,來使用該連接器:

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

優點

  • 由于是用C語言構建的,因此其運行的速度非常快。
  • 屬于純粹的SQL。
  • 能夠支持MySQL。

缺點

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

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

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

安裝與使用

由于QTSQL已經預安裝了PYQT5,因此您可以通過如下Python代碼,導入對應的模塊。

  1. from PyQt5 import QtSql 

并且通過如下代碼段,連接到數據庫上:

  1. self.QSqlDatabase.addDatabase("QMYSQL"
  2. self.db.setHostName("host_name"
  3. self.db.setDatabaseName("database_name"
  4. self.db.setUserName("username"
  5. self.db.setPassword("password"

在上述代碼中,QSqlDatabase.addDatabase的第一個參數,可用于添加驅動程序,其中包括:QPSQL、QMYSQL、QOCI、QODBC、以及QSQLITE等。緊接著的四行命令:setHostName()、setDatabaseName()、setUserName()和setPassword(),可用于初始化數據庫連接。此外,在完成初始化后,您還可以通過調用QSqlDatabase.open(),以打開并訪問數據庫。

優點

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

缺點

  • 需要自行編寫SQL。

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

Psycopg 是Python編程語言中最流行的PostgreSQL數據庫適配器。它的主要特點是完整地實現了PythonDB API 2.0的規范和線程的安全性(即,多個線程可以共享同一個連接)。由于它是為具有大量多線程的應用程序而設計的,因此此類應用不但會創建和銷毀大量的指針,而且會生成大量并發的INSERT或UPDATE。

安裝和指南

您可以通過運行如下命令,在自己的PC上安裝psycopg2:

  1. bash 
  2.  
  3. pip install psycopg2 

完成安裝后,請運行如下Python代碼:

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

優點

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

缺點

  • 缺乏相應的文檔。

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

作為一個針對Python的超級SQLite庫和驅動程序,SuperSQLite將原有內置的SQLite包,替換成了為每個平臺原生的、預編譯好(pre-compiled)的新版本SQLite,及其SQLite擴展。

安裝和指南

您可以通過運行如下命令,在自己的PC上安裝SuperSQLite:

  1. bash  
  2. pip install supersqlite 

完成安裝后,運行如下Python代碼即可使用:

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

優點

  • 快速高效。
  • 可以通過HTTP協議實現遠程流式傳輸。
  • 可以實現全文檢索。

缺點

  • 暫未發現顯著的缺點。

小結

綜上所述,我們一同了解了何為數據庫連接器、為何要在Python中使用數據庫連接器,以及五種最常用的Python SQL數據庫連接器。此外,我們還討論了每種連接器的安裝步驟,及其各自的優缺點。

原文標題:The 5 Best SQL Adapters for Your Python Project,作者: Ochuko Onojakpor

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:武曉燕 來源: 51CTO
相關推薦

2024-11-19 15:22:37

2010-07-05 09:56:37

2014-01-14 14:28:17

Linux應用

2010-11-10 10:39:14

sql server遠

2023-02-07 07:16:54

人工智能機器學習方法

2009-11-02 09:38:07

開源ESB

2019-06-04 10:40:07

2009-08-21 19:16:45

刀片服務器綜合布線

2016-08-05 11:02:47

LinuxUbuntuManjaro

2017-12-25 10:34:18

技術預測機遇

2011-03-16 10:19:21

瀏覽器性能測試

2012-05-29 09:59:34

2009-07-30 17:58:52

刀片服務器機架服務器虛擬化

2021-01-13 15:13:07

Python開發 工具

2024-12-20 09:00:00

Python科學計算

2020-02-04 09:00:00

物聯網開發VS CodeIOT

2011-10-29 09:55:05

Drupal服務器服務器優化

2020-11-04 09:43:27

人工智能CIO機器學習

2011-02-17 11:18:29

PythonWebRuby

2021-01-07 15:57:03

區塊鏈以太坊黃金
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久视频在线 | 亚洲日本一区二区三区四区 | 午夜资源| 午夜日韩视频 | 一区二区三区四区不卡 | 911影院| 久久之精品 | 久久亚洲二区 | 国产精品3区 | 国产成人99久久亚洲综合精品 | 免费视频久久久久 | 亚洲三级av | 羞羞网站免费观看 | 9191av| 久久国产日韩欧美 | 亚洲视频www | 欧美日本韩国一区二区三区 | 国产精品毛片一区二区在线看 | 国产 日韩 欧美 在线 | 99精品久久久久久中文字幕 | 91亚洲国产成人久久精品网站 | 一区二区三区免费 | 国产区精品在线观看 | 亚洲精品日韩精品 | 91在线区| 亚洲视频中文 | 久久国产精品免费一区二区三区 | 久久久久久成人网 | 一级一片在线观看 | 99热免费在线 | 伊人欧美视频 | 日本一区二区三区免费观看 | 国产精品久久久久久久久久久久 | 99久久精品免费视频 | 成人av在线播放 | 欧美日韩国产一区二区 | 亚洲精品视频导航 | 欧美一区免费 | 国产精品不卡视频 | 91色视频在线观看 | 一级做a爰片性色毛片16 |