Введение
Эта статья объяснит, какая разъем базы данных и охватывает плюсы и минусы некоторых популярных разъемов Python SQL.
Что такое разъем баз данных?
Разъем баз данных – это драйвер, который работает как адаптер, который соединяет интерфейс программного обеспечения к определенной реализации поставщиков баз данных.
Зачем использовать разъемы баз данных Python?
Стандартный интерфейс базы данных Python является Python DB-API. Этот интерфейс использует модуль MySQLDB для только MySQL. Этот модуль не зависит от любого другого двигателя базы данных, поэтому нам нужно написать сценарии Python для доступа к любому другому двигателю базы данных. Однако это не совместимо с Python 3. Поэтому Python предоставляет нам разъемы баз данных Python.
Список лучших 5 разъемов Python SQL
Ниже приведен список лучших пяти разъемов баз данных Python SQL, которые будут полезны для большинства программистов Python:
- Pymysql.
- MySQLDB.
- Qtsql.
- Psycopg2.
- SuperSqlite.
Pymysql.
MySQL – это ведущая система управления базами данных с открытым исходным кодом. Это многопользовательская, многопоточная система управления базами данных. MySQL особенно популярен для работы веб-разработки.
Установка и использование
Чтобы установить 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 Server
Господин
- Не поддерживает низкоуровневые API _Mysql обеспечивает тарифы Data_Seek, Store_Result и use_result
MySQLDB.
MySQLDB – это совместимый по никому поток интерфейс для популярного сервера баз данных MySQL, который предоставляет API базы данных Python.
Установка и использование
Чтобы установить модуль 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 _mysql db=_mysql.connect() db=_mysql.connect(host="localhost",user="username", passwd="password",db="db_name")
Плюс
- Построен с C, и, следовательно, работает быстро
- Чистый sql.
- Поддерживает MySQL
Господин
- Не поддерживает Python 3
- Требует, чтобы вы написали код SQL
- Требует, чтобы вы управляли курсором, не делают кэширования, параметризации и т. Д.
- Не удается перейти на другую ошибку базы данных, не переписывая все свой код базы данных
Qtsql.
QTSQL – это разъем баз данных, используемый для интеграции баз данных с приложениями PYQT5. Важно отметить, что QTSQL в первую очередь предназначен для использования с применениями пользовательского интерфейса (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")
Первый аргумент QSQLDATATABASE.ADDDATATABASE в вышеперечисленном выше, используется для добавления драйверов (например. , QPSQL, QMYSQL, QOCI, QODBC, QSQLITE и т. Д.). Следующие четыре команды sethostname ()
, setDatabasename ()
, setusername ()
и setwassword ()
Инициализирует соединение с базой данных. Qsqldatabase.open ()
вызывается для открытия базы данных и добраться до него после его инициализации.
Плюс
- Использует только библиотеки QT
- Он возвращает объекты Qt, поэтому он будет интегрироваться с стандартными виджетами QT
- Можно использовать любую ошибку базы данных, что Qt поддерживает (mysql, sqlite)
Господин
- Требуется, чтобы вы написали SQL
Psycopg2.
PSYCOPG – самый популярный адаптер базы данных PostgreSQL для языка программирования Python. Его основными функциями являются полная реализация спецификации Python DB API 2.0 и безопасность потоков (несколько потоков могут поделиться тем же соединением). Он был разработан для широко многопоточных приложений, которые создают и уничтожают множество курсоров и сделать большое количество одновременных Вставить
S или Обновление
s.
Установка и руководство
Чтобы установить, запустите команду ниже:
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""")
Плюс
- Быстро и эффективно
- Поддерживает несколько подключений и подключений объекты
- Поддерживает асинхронные запросы
Господин
- Отсутствие документации
SuperSqlite.
Сверхдушевая библиотека Sqlite и водитель для Python. Эта библиотека заменяет встроенные SQLite Packages с более новой версией SQLite Rat-Completed для каждой платформы, а также в результате предварительно скомпилированных расширений SQLite.
Установка и руководство
Чтобы установить, запустите команду ниже:
bash pip install supersqlite
После установки запустите код Python ниже, чтобы использовать:
from supersqlite import sqlite3 conn = sqlite3.connect('databasefile.db')
Плюс
- Быстро и эффективно
- Удаленный потоковой по сравнению с http
- Полнотекстовый поиск
Господин
- Нет известных мин
Вывод
В этой статье вы узнали, что такое соединитель базы данных, зачем использовать разъемы баз данных в Python и топ-5 разъемы баз данных Python SQL для использования. Кроме того, вы узнали плюсы и минусы каждого разъема и насколько легко устанавливать и использовать их. Если у вас есть какие-либо вопросы, не стесняйтесь обращаться ко мне в Twitter: @ Lordchuks3 Отказ
Оригинал: “https://dev.to/arctype/choose-the-best-sql-adapter-for-your-python-project-3b4n”