Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

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

  1. Мастерство метода strip() в Python: подробное руководство и практические примеры
  2. Мастерство метода str.count() в Python: как подсчитывать символы и подстроки с примерами
  3. Мастерство строк форматирования format() в Python: понятные примеры
  4. Мастерство метода String.find() в Python: синтаксис, примеры и альтернативы
  5. Освоение лямбда-функций Python: практические примеры и лучшие практики
  6. Функция round() в Python: подробное объяснение с практическими примерами
  7. Освоение функции map() в Python: синтаксис, примеры и лучшие практики
  8. Python timeit(): измерение времени выполнения с практическими примерами
  9. Counter в collections Python: эффективное подсчёт, обновление и арифметические операции
  10. Понимание type() и isinstance() в Python: практические примеры