Вставьте данные в базу данных MySQL через сценарий Python

Эта статья была обновлена ​​с тех пор, когда она была первоначально опубликована 26 ноября 2023 года.

Я хочу показать вам что -то довольно крутое, что может сделать Python: вставить данные в таблицу базы данных MySQL.

Представьте себе, что вы можете вводить данные в таблицу без необходимости войти в консоль MySQL, и инъекция этих данных из приложения Python может быть невероятно гибким и удобным. Еще лучше, это не так уж и сложная задача.

Позвольте мне показать вам, как это делается.

Что вам нужно

Я собираюсь продемонстрировать это на экземпляре Ubuntu Server 22.04.3. Если вы используете другое распределение Linux (или если вы используете MacOS или Windows), вам придется изменить команды установки. С учетом сказанного вам понадобится ОС, которая поддерживает Python3 и пользователь с привилегиями SUDO.

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

Groovy. Давайте сделаем магию Python/Database.

Установка MySQL и Python

Первое, что мы собираемся сделать, это установить сервер базы данных MySQL. Для этого войдите в свой экземпляр Server Ubuntu и подготовьтесь к установке.

sudo apt-get установить mysql-server -y 1 sudo apt-get install mysql-server -y

Установка MySQL на Ubuntu

Когда это закончится, вы захотите включить службу, поэтому он работает на загрузке. Для этого выпустите команду:

Sudo SystemCtl включить -сейчас MySQL 1 Sudo SystemCtl Включение -сейчас MySQL

Установите разъем Python MySQL

Прежде чем продолжить, вы также должны установить разъем MySQL Python3, который позволяет Python взаимодействовать с вашими базами данных MySQL. Это может быть достигнуто с помощью команды:

sudo apt-get установить python3-mysql.connector -y 1 sudo apt-get установить python3-mysql.connector -y

Если ваш экземпляр Ubuntu еще не установлен Python, вы можете сделать это с помощью команды:

sudo apt -get установить python3 -y 1 sudo apt -get установить python3 -y

Вот и все для установки.

Создание базы данных и пользователя в MySQL Создать базу данных MySQL

Далее нам нужно создать базу данных. Войдите в консоли MySQL с командой:

sudo mysql 1 sudo mysql

Оказавшись там, создайте базу данных под названием «Персонал» с командой:

Создать персонал базы данных; 1 Создать персонал базы данных;

Создайте пользователя MySQL

Теперь мы можем создать пользователя (мы назову его «Джек») и дать это разрешение пользователя для использования новой базы данных. Создайте пользователя с помощью:

Создать пользователь «jack»@’localhost’, идентифицированный «пароль»; 1 Создать пользователь «jack»@’localhost’, идентифицированный «пароль»;

Убедитесь, что пароль является сильным, уникальным паролем.

Дайте этому пользователю доступ к нашей базе данных персонала с командой:

Предоставить все привилегии в штате.* TO ‘Jack’@’Localhost’; 1 предоставить все привилегии в штате.* — «Джек»@’Localhost’;

Создать таблицу

Теперь мы должны создать таблицу. Во -первых, перейти на базу данных персонала с:

Использовать персонал; 1 используйте персонал;

Теперь мы можем создать таблицу в нашей новой базе данных. Давайте будем простыми и создадим таблицу «Редакционная статья» с двумя столбцами (имя и электронная почта). Команда для этого будет:

Создать редакционную статью таблицы (ID Int, имя VARCHAR (30), электронная почта VARCHAR (30)); 1 Создание редакционной статьи таблицы (id int, name varchar (30), электронная почта varchar (30));

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

Создание приложения Python

Здесь начинается веселье. Мы собираемся создать приложение Python, которое вводит данные в имени и столбцы электронной почты редакционных столбцов.

Создайте сценарий с помощью команды:

nano insert.py 1 nano insert.py

В этом файле вставьте следующий содержимое:

Импорт mysql.connector mydb = mysql.connector.connect (host = «localhost», user = «jack», password = «password», database = «Персонал») mycursor = mydb.cursor () sql = «insert в редакционные (имя, электронное письмо) значения ( %s, %s)» val = (name «,» emike vecult vecult vecure vecure. val) mydb.commit () print (mycursor.rowcount, «Вставка записи». ») SQL = «Вставьте в редакционные (имя, электронная почта) значения ( %s, %s)» val = («name», «email») mycursor.execute (sql, val) mydb.commit () print (mycursor.rowcount, «запись.»)

Пароль — это пароль, который вы создали для MySQL User Gack, имя — это имя, которое вы хотите вставить в столбец имени, а электронная почта — это адрес, который вы хотите вставить в столбец электронной почты.

Вот немного больше объяснения:

  • Первая строка импортирует необходимую функцию, которая позволяет Python подключаться к MySQL.
  • Раздел MYDB настраивает информацию для базы данных.
  • mydb.cursor () — это функция, которая позволяет вставить данные в базу данных.
  • Линия SQL — наш первый запрос MySQL.
  • Линия VAL определяет наши столбцы для базы данных.
  • Mycursor.execute выполняет вышеуказанные операции.
  • Mydb.commit () подтверждает изменения, внесенные mycursor.execute.
  • Линия печати печатает вывод, чтобы указать успех или сбой.

Сохраните и закройте файл с помощью комбинации клавиш CTRL+X.

Запуск приложения

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

python3 insert.py 1 python3 insert.py

Вы должны получить подтверждение, что инъекция была успешной. Вы можете проверить это с помощью команды:

Выберите * из редакционной статьи; 1 Выберите * из редакционной статьи;

Вы должны увидеть ваши первые данные, добавленные в таблицу.

Принять ввод от пользователя

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

Для этого мы должны использовать функцию input (), которая позволяет сценарию принимать ввод от пользователя. Наш новый сценарий будет выглядеть так:

Импорт mysql.connector name = input («type a name:») email = input («введите электронное письмо:») mydb = mysql.connector.connect (host = «localhost», user = «jack», password = «, database =» naff «) 12345678910 import.connectorname = input = name:» an -name: «an -name:» an -name: «anme antail») «). mydb = mysql.connector.connect (host = «localhost», user = «jack», password = «пароль», база данных = «Персонал»)

mycursor = mydb.cursor () sql = «Вставка в редакционную (имя, электронная почта) значения ( %s, %s)» val = (имя, электронная почта) mycursor.execute (sql, val) mydb.commit () 1234567 mycursor = mydb.cursor () sql = «insert in editorial (name). Электронная почта) mycursor.execute (sql, val) mydb.commit ()

Пароль — это пароль, который вы установили для пользователя MySQL.

Сохраните и закройте файл. Запустите приложение таким же образом, только на этот раз вам будет предложено ввести имя, а затем электронное письмо.

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

Python/MySQL Connectivity FAQ В. В: Какой наиболее распространенный способ подключения к базе данных MySQL с помощью Python?

A: Наиболее распространенным методом является использование библиотеки MySQL-Connector-Python, которая обеспечивает простой и эффективный интерфейс для взаимодействия с базами данных MySQL.

В: Как установить библиотеку MySQL-Connector-Python в моей среде Python?

A: Вы можете установить его через PIP с командой PIP установить MySQL-Connector-Pythonили используйте Conda, как Установка Conda -c anaconda mysql-connector-python.

В: Что такое балансовый бассейнер MySQL, и как мне настроить?

A: Pooler Connection — это механизм, который позволяет делиться несколькими подключениями между приложениями. Самая популярная библиотека для этой цели в Python-MySQL-Connection-Pooling.

В: Каковы некоторые общие ошибки соединения MySQL и как их устранить?

A: Общие ошибки подключения включают:

  • mysql-connector-python.errors.error: общие сообщения об ошибках базы данных.
  • mysql.connector.exceptions.operationalerror: проблемы соединения (например, тайм -аут).
  • mysql.connector.exceptions.programmingError: синтаксис или связанные с SQL ошибки.

Чтобы устранить эти ошибки, проверьте свои файлы конфигурации MySQL (my.cnf и т. Д.), Убедитесь, что предоставлено правильное имя пользователя и пароль, и убедитесь, что детали подключения к базе данных являются точными.

В: Могу ли я использовать другие библиотеки для подключения к базе данных MySQL в Python?

A: Да. Некоторые популярные альтернативы включают:

  • SQLalchemy: библиотека ORM для работы с базами данных SQL.
  • PymySQL: другая библиотека соединителей, которая обеспечивает аналогичную функциональность MySQL-Connector-Python.
  • PymySQL (без модуля): аналогично вышеуказанному.

В: Что такое тайм -аут подключения в MySQL, и как мне настроить его?

A: Тайм -аут подключения — это период времени, который разрешен для попытки подключения к успеху. По умолчанию это значение можно настроить с помощью файлов конфигурации (my.cnf и т. Д.).

Эта статья была обновлена ​​с тех пор, когда она была первоначально опубликована 18 июня 2019 года. Повышенные истории Youtube.com/thenewstack Tech движутся быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Джек Уоллен-это то, что происходит, когда генеральный разум с умом с современным Snark. Джек — искатель истины и писатель слов с квантовым механическим карандашом и разрозненным ударом звука и души. Хотя он проживает … читайте больше от Джека Валлена

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *