Что вы делаете с данными, сгенерированными в вашем новом приложении Python? Почему бы не поместить их в базу данных MySQL? Вот как.
Я хочу показать вам кое-что довольно классное, что может делать Python: вставка данных в таблицу базы данных MySQL.
Представьте, что вы можете вводить данные в таблицу без необходимости сначала входить в консоль MySQL - и ввод этих данных из приложения Python может быть невероятно гибким и удобным. Более того, это не такая уж сложная задача.
Позвольте мне показать вам, как это делается.
Что вам нужно
Я собираюсь продемонстрировать это на экземпляре Ubuntu Server 22.04.3. Если вы используете другой дистрибутив Linux (или если вы используете macOS или Windows), вам придется изменить команды установки. С учетом сказанного вам понадобится операционная система, поддерживающая Python3, и пользователь с привилегиями sudo.
И, просто ради интереса, я собираюсь показать вам, как установить MySQL и создать пользователя и базу данных.
Давайте сотворим немного магии с Python / базой данных.
Установка MySQL и Python
Первое, что мы собираемся сделать, это установить сервер базы данных MySQL. Для этого войдите в свой экземпляр Ubuntu Server и выполните команду:
sudo apt-get install mysql-server -y
Когда это завершится, вы захотите включить службу, чтобы она запускалась при загрузке. Для этого выполните команду:
sudo systemctl enable --now mysql
Прежде чем продолжить, вы также должны установить Python3 MySQL Connector, который позволяет Python взаимодействовать с вашими базами данных MySQL. Это можно выполнить с помощью команды:
sudo apt-get install python3-mysql.connector -y
Если на вашем экземпляре Ubuntu еще не установлен Python, вы можете сделать это с помощью команды:
sudo apt-get install python3 -y
Вот и все для установки.
Создание базы данных и пользователя в MySQL
Далее нам нужно создать базу данных. Войдите в консоль MySQL с помощью команды:
sudo mysql
Оказавшись там, создайте базу данных с именем “персонал” с помощью команды:
CREATE DATABASE staff;
Теперь мы можем создать пользователя (назовем его “Иван”) и предоставить этому пользователю разрешение на использование новой базы данных. Создайте пользователя с:
CREATE USER 'Ivan'@'localhost' IDENTIFIED 'PASSWORD';
Убедитесь, что пароль является надежным и уникальным.
Предоставьте этому пользователю доступ к нашей базе данных персонала с помощью команды:
GRANT ALL PRIVILEGES ON staff.* TO 'Ivan'@'localhost';
Создайте таблицу
Теперь нам нужно создать таблицу. Сначала перейдите в базу данных персонала с помощью:
USE staff;
Теперь мы можем создать таблицу в нашей новой базе данных. Давайте упростим задачу и создадим таблицу под названием “редакция” с двумя столбцами (имя и адрес электронной почты). Командой для этого будет:
CREATE TABLE editorial (id INT, name VARCHAR(30), email VARCHAR(30));
Теперь у нас есть база данных, пользователь и таблица, готовые к действию.
Приложение на Python
Вот тут-то и начинается самое интересное. Мы собираемся создать приложение на Python, которое вводит данные в столбцы имени и электронной почты редакционных колонок.
Создайте скрипт с помощью команды:
nano insert.py
В этот файл вставьте следующее содержимое:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="Ivan",
password="PASSWORD",
database="staff"
)
mycursor = mydb.cursor()
sql = "INSERT INTO editorial (name, email) VALUES (%s, %s)"
val = ("NAME", "EMAIL")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
ПАРОЛЬ - это пароль, который вы создали для пользователя MySQL Ivan, NAME - это имя, которое вы хотите вставить в столбец name, а EMAIL - это адрес, который вы хотите вставить в столбец email.
Вот еще немного объяснений:
- Первая строка импортирует требуемую функцию, которая позволяет Python подключаться к MySQL.
- Раздел mydb настраивает информацию для базы данных.
- mydb.cursor() - это функция, которая позволяет вставлять данные в базу данных.
- Строка sql - это наш первый запрос MySQL.
- Строка val определяет наши столбцы для базы данных.
- mycursor.execute выполняет вышеуказанные операции.
- mydb.commit() подтверждает изменения, внесенные mycursor.execute.
- Строка печати выводит выходные данные, указывающие на успех или неудачу.
Сохраните и закройте файл комбинацией клавиш Ctrl + X.
Запуск приложения
Теперь мы можем запустить наше новое приложение на Python, которое введет данные в таблицу, указанную вами в скрипте. Команда run для этого будет:
python3 insert.py
Вы должны получить подтверждение того, что инъекция прошла успешно. Вы можете проверить это с помощью команды:
SELECT * FROM editorial;
Вы должны увидеть свои первые данные, добавленные в таблицу.
Принимать вводимые данные от пользователя
Это не очень эффективный метод ввода данных в базу данных, потому что вам пришлось бы каждый раз редактировать сценарий. К счастью, мы можем использовать переменные в Python для приема входных данных, которые затем будут вставлены.
Чтобы сделать это, мы должны использовать функцию input(), которая позволяет скрипту принимать ввод от пользователя. Наш новый скрипт будет выглядеть следующим образом:
import mysql.connector
name = input("Type a name: ")
email = input("Type an email: ")
mydb = mysql.connector.connect(
host="localhost",
user="Ivan",
password="PASSWORD",
database="staff"
)
mycursor = mydb.cursor()
sql = "INSERT INTO editorial (name, email) VALUES (%s, %s)"
val = (name, email)
mycursor.execute(sql, val)
mydb.commit()
ПАРОЛЬ - это пароль, который вы установили для пользователя MySQL.
Сохраните и закройте файл. Запустите приложение таким же образом, только на этот раз вам будет предложено ввести имя, а затем адрес электронной почты.
И вот как вы можете использовать Python для ввода данных в таблицу MySQL. Поиграйте с этим и посмотрите, насколько творческими вы сможете стать.
По моему ни чего не упустил, надеюсь моя статья была полезной для вас. Надеюсь на обратный отклик в виде подписки или хорошего комментария внизу. Спасибо что посещаете мой канал.