Рубрики
Без рубрики

Выберите лучший адаптер SQL для вашего проекта Python

Введение Эта статья объяснит, что разъем базы данных и покрывает плюсы и … Помечено MySQL, NoSQL, PostgreSQL, Python.

Введение

Эта статья объяснит, какая разъем базы данных и охватывает плюсы и минусы некоторых популярных разъемов Python SQL.

Что такое разъем баз данных?

Разъем баз данных – это драйвер, который работает как адаптер, который соединяет интерфейс программного обеспечения к определенной реализации поставщиков баз данных.

Зачем использовать разъемы баз данных Python?

Стандартный интерфейс базы данных Python является Python DB-API. Этот интерфейс использует модуль MySQLDB для только MySQL. Этот модуль не зависит от любого другого двигателя базы данных, поэтому нам нужно написать сценарии Python для доступа к любому другому двигателю базы данных. Однако это не совместимо с Python 3. Поэтому Python предоставляет нам разъемы баз данных Python.

Список лучших 5 разъемов Python SQL

Ниже приведен список лучших пяти разъемов баз данных Python SQL, которые будут полезны для большинства программистов Python:

  1. Pymysql.
  2. MySQLDB.
  3. Qtsql.
  4. Psycopg2.
  5. 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”