加入收藏 | 设为首页 | 会员中心 | 我要投稿 92站长网 (https://www.92zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

适用Python项目的五大SQL连接器

发布时间:2021-11-05 15:00:34 所属栏目:语言 来源:互联网
导读:作为一种驱动程序,数据库连接器(database connector)的工作方式类似于,我们将软件接口连接到特定的数据库上,以实现适配器的基本功能。现如今,Python已经成为了一种在全球范围内,被广为使用的编程语言。因此,我们有必要了解与Python有关的数据库连接器。
作为一种驱动程序,数据库连接器(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:
 
bash
 
pip install pymysql
完成安装后,我们可以通过运行如下Python代码,来测试数据库连接器:
 
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()
优点
 
其大多数公共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模块:
 
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
您也可以通过运行如下Python代码,来使用该连接器:
 
from MySQLdb import _mysql
db=_mysql.connect()
db=_mysql.connect(host="localhost",user="username",
                  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代码,导入对应的模块。
 
from PyQt5 import QtSql
并且通过如下代码段,连接到数据库上:
 
self.QSqlDatabase.addDatabase("QMYSQL")
self.db.setHostName("host_name")
self.db.setDatabaseName("database_name")
self.db.setUserName("username")
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。

适用Python项目的五大SQL连接器

(编辑:92站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读