适用于Python项目的SQL适配器有哪些
这篇文章主要介绍"适用于Python项目的SQL适配器有哪些",在日常操作中,相信很多人在适用于Python项目的SQL适配器有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"适用于Python项目的SQL适配器有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
什么是数据库连接器?
数据库连接器是一种驱动程序,其工作方式类似于将软件接口连接到特定数据库供应商实现的适配器。
为什么要使用 Python 数据库连接器?
Python 的标准数据库接口是 Python DB-API。此接口仅将 MySQLdb 模块用于 MySQL。该模块独立于任何其他数据库引擎,因此我们需要编写 Python 脚本来访问任何其他数据库引擎。但是,这样做与 Python 3 不兼容。因此 Python 为我们提供了 Python 数据库连接器。
前 5 个 Python SQL 连接器列表
以下是对大多数 Python 程序员有用的前五个 Python SQL 数据库连接器的列表:
pymysql
数据库
QTSQL
Psycopg2
超级SQLite
1. pymysql
MySQL 是领先的开源数据库管理系统。它是一个多用户、多线程的数据库管理系统。而且MySQL 在 Web 开发工作中特别受欢迎。
安装使用
要在您的 PC 上安装 PyMySQL,请运行以下命令:
bash pip install pymysql
安装后,我们现在可以通过运行以下 python 代码来测试我们的数据库连接器:
import pymysqlcon = 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. MySQL数据库
MySQLdb 是流行的 MySQL 数据库服务器的线程兼容接口,提供 Python 数据库 API。
安装使用
要安装 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 install python python-devel mysql-devel redhat-rpm-config gcc#For Python command prompt, use the following command -pip install MySQL-python
要使用此连接器,请运行以下 Python 代码:
from MySQLdb import _mysqldb=_mysql.connect()db=_mysql.connect(host="localhost",user="username", passwd="password",db="db_name")
优点
用 C 构建,因此运行速度很快。
纯 SQL。
支持 MySQL。
缺点
不支持 Python 3。
需要您编写 SQL 代码。
需要你管理游标,不做任何缓存、参数化等。
如果不重写所有数据库代码,就无法切换到不同的数据库后端。
3. QTSQL
QTSQL 是一个数据库连接器,用于将数据库与 PYQT5 应用程序集成。需要注意的是,QTSQL 主要用于 UI 应用程序(毕竟 QT 是一个 GUI 工具包)。
安装使用
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
Psycopg 是 Python 编程语言中最流行的 PostgreSQL 数据库适配器。它的主要特点是完整实现了 Python DB API 2.0 规范和线程安全(多个线程可以共享同一个连接)。它是为大量多线程应用程序设计的,这些应用程序创建和销毁大量游标并生成大量并发INSERTs 或UPDATEs。
安装和指南
要安装,请运行以下命令:
bash pip install psycopg2
安装后,运行下面的Python代码即可使用:
import psycopg2try: 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.超级SQLite
用于 Python 的增压 SQLite 库和驱动程序。该库将内置 SQLite 包替换为为每个平台本地预编译的较新版本的 SQLite,以及本地预编译的 SQLite 扩展。
安装和指南
要安装,请运行以下命令:
bash pip install supersqlite
安装后,运行下面的Python代码即可使用:
from supersqlite import sqlite3 conn = sqlite3.connect('databasefile.db')
优点
快速高效。
通过 HTTP 进行远程流式传输。
全文检索。
缺点
没有已知的缺点。
到此,关于"适用于Python项目的SQL适配器有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!