温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python中有哪些SQL数据库连接器

发布时间:2021-09-13 18:45:16 来源:亿速云 阅读:146 作者:小新 栏目:开发技术

小编给大家分享一下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中有哪些SQL数据库连接器”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI