我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

【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:


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都与mysqlclientMySQLdb相兼容。
  • 同时支持Python 23
  • 能够支持MySQL和MariaDB服务器。

缺点:

不支持由MySQL提供的低级API,其中包括:data_seekstore_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的规范和线程的安全性(即,多个线程可以共享同一个连接)。由于它是为具有大量多线程的应用程序而设计的,因此此类应用不但会创建和销毁大量的指针,而且会生成大量并发的INSERTUPDATE

安装和指南:

可以通过运行如下命令,在自己的PC上安装psycopg2


bash 
 
pip install psycopg2 


完成安装后,请运行如下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""")

优点:

  • 快速高效。
  • 支持多种连接、以及各种连接对象。
  • 支持各种异步查询。

缺点:

  • 缺乏相应的文档。

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

作为一个针对Python的超级SQLite库和驱动程序,SuperSQLite将原有内置的SQLite包,替换成了为每个平台原生的、预编译好(pre-compiled)的新版本SQLite,及其SQLite扩展。

安装和指南:

可以通过运行如下命令,在自己的PC上安装SuperSQLite:


bash  
pip install supersqlite 


完成安装后,运行如下Python代码即可使用:


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


优点:

  • 快速高效。
  • 可以通过HTTP协议实现远程流式传输。
  • 可以实现全文检索。

暂未发现显著的缺点。

小结:
综上所述,我们一同了解了何为数据库连接器、为何要在Python中使用数据库连接器,以及五种最常用的Python SQL数据库连接器。此外,我们还讨论了每种连接器的安装步骤,及其各自的优缺点。

到此这篇关于适合Python项目的五大SQL连接器的文章就介绍到这了,更多相关适合Python的五大SQL连接器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

适合Python 新手的5大练手项目,你

已经学习了一段时间的Python,如果你看过之前W3Cschool的文章,就知道是时候该进去【项目】阶段了。但是在练手项目的选择上,还存在疑问?不知道要从哪种项目先下手?W3Cschool首先有两点建议:最好不要写太应用的程序练手,要思考什
2023-01-31

如何理解Python是最适合机器学习项目的语言

这篇文章给大家介绍如何理解Python是最适合机器学习项目的语言,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Python因为稳定且易于维护的特性,表现一直很好,近年来,Python 吸引了很多人的眼球。 TIOBE
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录