Python и MySQL: практическое руководство по подключению к БД, созданию и CRUD операциям
Python и MySQL: практическое руководство по подключению к БД, созданию и CRUD операциям
В современном,data-driven мире Python-разработчикам часто нужно взаимодействовать с реляционными базами данных. MySQL, открытая СУБД, остаётся популярным выбором благодаря своей надёжности, поддержке сообщества и простоте использования. Это руководство проведёт вас через каждый шаг — от установки MySQL и его Python-коннектора до создания баз данных, таблиц и выполнения базовых CRUD операций — с акцентом на лучшие практики и чистый код.
Что такое MySQL?
MySQL — ведущая открытая реляционная система управления базами данных (РСУБД). Сооснователь Майкл Видениус, в честь дочери которой названо MySQL, создал его в 1995 году. Его SQL-интерфейс, высокая производительность и кроссплатформенная поддержка делают его выбором №1 для веб-приложений, аналитики данных и многого другого.
Установка MySQL на Linux/Unix
Скачайте официальный RPM пакет с MySQL Downloads. Откройте терминал и выполните:
rpm -i
Например:
rpm -i MySQL-5.0.9.0.i386.rpm
Проверьте установку:
mysql --version
Установка MySQL на Windows
Скачайте установщик для Windows с того же сайта MySQL и следуйте мастеру. Для пошагового визуального руководства см. этот официальный туториал.
Установка MySQL коннектора для Python
Используйте pip для установки библиотеки коннектора. Команда немного отличается для Python 2 и 3:
pip install mysql-connector
pip3 install mysql-connector
Тестирование подключения к MySQL
После установки коннектора проверьте связь, создав простое объект соединения. Замените hostname, username и password на свои учётные данные.
import mysql.connector
conn = mysql.connector.connect(
host="hostname",
user="username",
passwd="password"
)
print(conn)
Успешный вывод будет похож на:
Создание базы данных через Python
Выполните оператор CREATE DATABASE через объект курсора:
import mysql.connector
conn = mysql.connector.connect(
host="localhost",
user="root",
passwd="root"
)
cursor = conn.cursor()
cursor.execute("CREATE DATABASE my_first_db")
cursor.execute("SHOW DATABASES")
for db in cursor:
print(db)
Вывод:
("my_first_db",)
Создание таблиц
Простая таблица
Создайте таблицу student с двумя колонками:
cursor.execute("CREATE TABLE student (id INT, name VARCHAR(255))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
Вывод:
("student",)
Таблица с первичным ключом
Определите таблицу employee с автоинкрементным первичным ключом:
cursor.execute("CREATE TABLE employee (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), salary INT(6))")
cursor.execute("SHOW TABLES")
for tbl in cursor:
print(tbl)
Вывод:
("employee",)
("student",)
Изменение таблицы
Модификация существующего столбца для назначения его первичным ключом:
cursor.execute("ALTER TABLE student MODIFY id INT PRIMARY KEY")
Проверку можно выполнить, описав таблицу или инспектируя схему вручную.
Вставка данных
Вставка строк в обе таблицы:
student_sql = "INSERT INTO student(id, name) VALUES (1, 'John')" employee_sql = "INSERT INTO employee(id, name, salary) VALUES (1, 'John', 10000)" cursor.execute(student_sql) cursor.execute(employee_sql) conn.commit() print(cursor.rowcount, "Record Inserted")
Вывод:
2 Record Inserted
Дальнейшие шаги
Отсюда можно изучать обновления, удаления и более сложные запросы. Всегда помните закрывать соединение по завершении:
conn.close()
Удачного кодинга!
Python
- Мастерство метода strip() в Python: подробное руководство и практические примеры
- Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
- Мастерство строк форматирования format() в Python: понятные примеры
- Мастерство метода String.find() в Python: синтаксис, примеры и альтернативы
- Освоение лямбда-функций Python: практические примеры и лучшие практики
- Функция round() в Python: подробное объяснение с практическими примерами
- Освоение функции map() в Python: синтаксис, примеры и лучшие практики
- Python timeit(): измерение времени выполнения с практическими примерами
- Counter в collections Python: эффективное подсчёт, обновление и арифметические операции
- Понимание type() и isinstance() в Python: практические примеры