MySQL — одна из самых популярных реляционных баз данных. Он позволяет хранить данные в таблицах и создавать отношения между этими таблицами. Чтобы использовать MySQL, который работает как сервер базы данных, вам потребуется написать код для подключения к нему.

Большинство языков программирования, таких как Python, поддерживают это. На самом деле в Python есть несколько подходов, каждый из которых имеет свои преимущества.

Подготовьте конфигурацию MySQL

Для подключения к базе данных вам потребуются следующие значения:

  • Host: расположение сервера MySQL, localhost, если вы используете его на том же компьютере.
  • Пользователь: имя пользователя MySQL.
  • Пароль: пароль MySQL.
  • Имя базы данных: имя базы данных, к которой вы хотите подключиться.

Перед подключением к базе данных MySQL создайте новый каталог:

mkdir python-mysql

Настройте виртуальную среду Python

Виртуальная среда Python позволяет устанавливать пакеты и запускать сценарии в изолированной среде. Когда ты создать виртуальную среду, вы можете затем установить в него версии Python и зависимостей Python. Таким образом, вы изолируете разные версии и избегаете проблем совместимости.

instagram viewer

Подключиться к MySQL с помощью mysqlclient

mysqlclient Драйвер — это интерфейс к серверу базы данных MySQL, который предоставляет API сервера базы данных Python. Он написан на языке С.

Выполните следующую команду в виртуальной среде, чтобы установить mysqlclient:

точка установить mysqlclient

Если вы работаете на компьютере с Linux, сначала установите заголовки и библиотеки для разработки Python 3 и MySQL.

# Дебиан/Убунту
sudo apt-получить установить python3-dev дефолт-libmysqlclient-dev строить-существенный

# Красная шляпа / CentOS
судо ням установить python3-разработка mysql-разработка

В Windows вы можете установить mysqlclient, используя двоичный файл колеса. Загрузите файл mysqlclient, совместимый с вашей платформой, с Неофициальная коллекция Кристофа Гольке. Затем вы можете использовать загруженный файл колеса с pip для установки mysqlclient следующим образом:

точкаустановитьс:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Используйте следующий код подключения для подключения к базе данных MySQL после завершения установки:

импорт MySQLdb

подключение = MySQLdb.connect(
хост ="локальный хост",
пользователь="<mysql_user>",
пароль="<mysql_password>",
дБ="<имя_базы_данных>"
)

курсор = соединение.курсор()
курсор.выполнить("Выбратьбаза данных();")
БД = курсор.fetchone ()

если дб:
Распечатать("Ты'повторно подключен к базе данных: ", дБ)
еще:
Распечатать('Не подключен.')

В этой программе у вас есть:

  • Импортированный mysqlclient.
  • Создал объект подключения, используя MySQLdb.connect().
  • Детали конфигурации базы данных переданы в MySQLdb.connect().
  • Создан объект курсора для взаимодействия с MySQL.
  • Использовал объект курсора для получения версии подключенной базы данных MySQL.

Не забудьте поменять данные базы данных на свои.

Подключиться к MySQL с помощью mysql-connector-python

mysql-коннектор-python является официальным драйвером соединения, поддерживаемым Oracle. Он также написан на чистом Python.

Установите его через pip, чтобы начать использовать.

точка установить mysql-коннектор-python

Подключитесь к MySQL, используя следующий код подключения.

импорт mysql.connector
из mysql.connector импортОшибка

соединение = mysql.connector.connect (хост ="локальный хост",
пользователь="<mysql_user>",
пароль="<mysql_password>",
дБ="<имя_базы_данных>")

пытаться:
еслисвязь.подключен():
курсор = соединение.курсор()
курсор.выполнить("Выбратьбаза данных();")
БД = курсор.fetchone ()
Распечатать("Ты'повторно подключен к базе данных: ", дБ)
кроме Ошибкав качестве е:
Распечатать("Ошибкапока подключение к MySQL", e)
в конце концов:
еслисвязь.подключен():
курсор.Закрыть()
связь.Закрыть()
print("Соединение с MySQL является закрыто")

Приведенный выше код подключения делает то же самое, что и код подключения mysqclient.

Создав объект подключения, вы можете создать курсор, который затем можно использовать для выполнения запросов к базе данных.

Эта программа подключения также использует Попробуйте поймать блокировать. Класс Error, из mysql.connector, позволяет перехватывать исключения, возникающие при подключении к базе данных. Это должно упростить отладку и устранение неполадок.

Подключиться к MySQL с помощью PyMySQL

PyMySQL драйвер подключения является заменой MySQLdb. Чтобы использовать его, вам нужно использовать Python 3.7 или новее, а ваш сервер MySQL должен быть версии 5. 7 или новее. Если вы используете MariaDB, это должна быть версия 10.2 или выше. Вы можете найти эти требования на Страница PyMySQL на Github.

Чтобы установить PyMySQL, выполните следующую команду.

точка установить PyMySQL

Подключитесь к MySQL с помощью PyMySQL, используя этот код.

импорт pymysql

соединение = pymysql.connect (хост ="локальный хост",
пользователь="<mysql_user>",
пароль="<mysql_password>",
база данных ="<имя_базы_данных>")

пытаться:
курсор = соединение.курсор()
курсор.выполнить("Выбратьбаза данных();")
БД = курсор.fetchone ()
Распечатать("Ты'повторно подключен к базе данных: ", дБ)
кроме пимиsql. Ошибка в качестве е:
Распечатать("Ошибкапока подключение к MySQL", e)
в конце концов:
курсор.Закрыть()
связь.Закрыть()
print("Соединение с MySQL является закрыто")

После того, как вы установили соединение и создали объект курсора, вы можете начать делать SQL-запросы.

Подключиться к MySQL с помощью aiomysql

aiomysql Драйвер подключения похож на асинхронную версию PyMySQL. Он обеспечивает доступ к базе данных MySQL из фреймворка asyncio.

Чтобы использовать aiomysql, вам необходимо установить Python 3.7+ и PyMySQL в вашей среде разработки.

Выполните следующую команду, чтобы установить asyncio и aiomysql.

точка установить асинцио
точка установить aiomysql

С помощью aiomysql вы можете подключить Python к MySQL, используя базовый объект соединения и используя пул соединений.

Вот пример, показывающий, как подключиться к базе данных MySQL с помощью объекта подключения.

импорт асинцио
импорт aiomysql
цикл = asyncio.get_event_loop()

асинхронныйдефpython_mysql():
соединение = ожидание aiomysql.connect (хост ="локальный хост",
пользователь="<mysql_user>",
пароль="<mysql_password>",
база данных ="<имя_базы_данных>")

курс = Ждите соединение.курсор()
ждать cur.execute("Выбратьбаза данных();")
дБ = Ждите cur.fetchone()
Распечатать("Ты'повторно подключен к базе данных: ", дБ)
Ждите курс.закрыть()
связь.Закрыть()

петля.run_until_complete(python_mysql())

В отличие от объекта соединения с базой данных, пул соединений позволяет повторно использовать соединения с базой данных. Он делает это, поддерживая пул открытых соединений и назначая их по запросу. Когда клиент запрашивает соединение, ему назначается соединение из пула. Как только клиент закрывает соединение, соединение возвращается в пул.

Базовый код для подключения через пул выглядит следующим образом:

импорт асинцио
импорт aiomysql
цикл = asyncio.get_event_loop()
асинхронныйдефpython_mysql():
пул = ожидание aiomysql.create_pool (хост="локальный хост",
пользователь="<mysql_user>",
пароль="<mysql_password>",
база данных ="<имя_базы_данных>", цикл=цикл, автофиксация=ложь)

асинхронныйс pool.acquire() в качестве связь:
курсор = Ждите соединение.курсор()
ждать cur.execute("Выбратьбаза данных();")
дБ = Ждите cur.fetchone()
Распечатать("Ты'повторно подключен к базе данных: ", дБ)

бассейн.Закрыть()
Ждите pool.wait_closed()

петля.run_until_complete(python_mysql())

Эта программа должна печатать версию MySQL, к которой вы подключились, когда запускаете ее.

Управление вашей базой данных PostgreSQL

В этой статье показано несколько способов подключения приложения Python к MySQL. Каждый из этих методов позволяет взаимодействовать с базой данных и выполнять запросы к ней.

После подключения к базе данных MySQL вы можете выполнять запросы данных и выполнять транзакции базы данных. Вы можете создать приложение Python, подключить его к MySQL и начать хранить данные.