纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

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

陈峻   2021-09-13 我要评论
想了解适合Python项目的五大SQL连接器的相关内容吗陈峻在本文为您仔细讲解适合Python的五大SQL连接器的相关知识和一些Code实例欢迎阅读和指正我们先划重点: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数据库连接器此外我们还讨论了每种连接器的安装步骤及其各自的优缺点


相关文章

猜您喜欢

网友评论

Copyright 2020 www.sopisoft.net 【绿软下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式