PyMySQL — инструкция по использованию MySQL на примерах

pymysql примеры

В следующей инструкции будет показано, как использовать MySQL в Python при помощи PyMySQL модуля.

PyMySQL на примерах

PyMySQL представляет собой уникальную для Python клиентскую библиотеку, основанную на PEP 249. Большая часть общедоступных API совместимы с mysqlclient и MySQLdb. PyMySQL работает с MySQL 5.5+ и MariaDB 5.5+.

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

Установка PyMySQL

Для установки PyMySQL используется pip3.

Есть вопросы по Python?

На нашем форуме вы можете задать любой вопрос и получить ответ от всего нашего сообщества!

Telegram Чат & Канал

Вступите в наш дружный чат по Python и начните общение с единомышленниками! Станьте частью большого сообщества!

Паблик VK

Одно из самых больших сообществ по Python в социальной сети ВК. Видео уроки и книги для вас!

PyMySQL — узнаем версию MySQL

В следующем примере показано, как отобразить текущую версию MySQL.

Для того чтобы узнать версию MySQL, можно использовать команду SELECT VERSION().

Для этого потребуется импортировать pymysql модуль.

Затем производится подключение к базе данных при помощи connect(). Здесь требуется указать четыре параметра:

  • имя хоста;
  • имя пользователя;
  • пароль;
  • название базы данных.

При помощи with интерпретатор Python автоматически открывает доступные ресурсы. Он также обрабатывает возможные ошибки.

Из объекта подключения con создается курсор. Курсор используется для перемещения записей из набора результатов.

Для использования команды SQL вызывается метод курсора execute().

Метод fetchone() позволяет вызвать следующую строку из набора результатов запроса, показывая только одну запись. В том случае, если доступных данных нет, выводится None.

Таким образом, версия базы данных выводится на экран.

Это результат вывода.

PyMySQL fetchAll

Метод fetchAll() позволяет извлечь все (оставшиеся) строки результата запроса, возвращая их в виде последовательности последовательностей.

В данном примере из таблицы базы данных выводятся все города (cities).



Данный оператор SQL выбирает все данные из таблицы cities.

Метод fetchall() позволяет получить все записи. Он возвращает набор результатов. Технически, это кортеж из кортежей. Каждый из внутренних кортежей представляет собой строку в таблице.

Данные выводятся в консоль строка за строкой.

Это результат вывода.

PyMySQL словарь курсора

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

В данном примере показано, как получить первые строки таблицы cities при помощи использования словаря курсора.

Используя метод connect(), можно передать значение pymysql.cursors.DictCursor параметру cursorclass.

Обращение к данным происходит при помощи названий столбцов таблицы cities.

PyMySQL заголовки столбцов

Далее будет показано, как вывести названия столбцов с информацией из таблицы базы данных.

Названия столбцов представляют собой метаданные. Они извлекаются из объекта курсора.

Атрибут курсора description возвращает информацию о каждом результативном столбце запроса.

Таким образом, выводятся и форматируются названия столбцов таблицы.

Данные перебираются и выводятся на экран при помощи цикла for.

Это результат вывода.

PyMySQL связываемые переменные

При написании связываемых переменных вместо прямого введения значений используется специальные плейсхолдеры (placeholders). Связываемые переменные позволяют повысить безопасность и производительность.

В данном примере показано, как получить строку с определенным Id.

Здесь используется плейсхолдер, который идентифицируется при помощи маркера %s. Перед тем, как определенная SQL переменная будет задействована, она должна быть привязана к ее плейсхолдеру.

Это результат вывода.

PyMySQL задействованные строки

Предназначенный только для чтения атрибут курсор rowcount показывает количество строк, которые были получены в результате последнего использования одного из операторов SELECT, UPDATE или INSERT.

В данном примере, показано, что используемый оператор SELECT выбирает три строки.

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

Это результат вывода.

В данной инструкции было показано, как использовать базу данных MySQL в Python при помощи модуля PyMySQL.