Рубрики
Без рубрики

Python MySQL Tutorial – Полное руководство

Сегодня в этом уроке мы обсудим, как мы можем разработать и интегрировать базу данных Python MySQL.

Автор оригинала: Pankaj Kumar.

Сегодня в этом уроке мы обсудим как мы можем разработать и интегрировать базу данных Python MySQL.

Что такое MySQL

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

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

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

Мы можем использовать Python MySQL , используя различные модули или технологии, уже предоставленные. Некоторые из них,

  1. MySQL Connector Python
  2. PyMySQL
  3. MySQLdb
  4. mysqlclient
  5. OurSQL

Все вышеперечисленные технологии используют один и тот же синтаксис и методы для подключения и выполнения операций с базой данных MySQL, следуя PEP 249 .

Следовательно, мы можем получить доступ к базе данных MySQL server, используя любой из вышеперечисленных модулей. Также имеет смысл установить только один из них. Мы можем установить их с помощью простой команды PIP в оболочке, как показано ниже.

pip install pymysql

Здесь в качестве примера мы взяли PyMySQL .

Перед началом работы убедитесь, что в вашей системе настроена база данных MySQL и она работает правильно. У вас есть логин и пароль для базы данных, чтобы инициировать подключения.

Основные методы в Python MySQL

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

1. MySQL connect()

Метод pymysql.connect() устанавливает соединение с базой данных MySQL из Python и возвращает объект MySqlConnection . Затем этот объект можно использовать для доступа ко всей базе данных и выполнения других операций. Он принимает такие параметры, как хост , пользователь , пароль и база данных в качестве спецификаций базы данных, которую вы хотите подключить.

  • пользователь – Для локальных серверов пользователь должен быть указан как “root” , иначе вы можете создать пользователя, перейдя по этой ссылке ,
  • пароль – Это зависит от того, что вы использовали в качестве пароля при создании пользователя. База данных также может быть без пароля(для нашего примера),
  • host – Для локального сервера, использующего xampp , мы можем использовать localhost для доступа к базе данных. Мы также можем использовать IP адрес сервера или имя для доступа к хосту,
  • база данных – Это имя базы данных, которое вы собираетесь использовать. Если вы уже создали базу данных, вы можете просто указать ее имя здесь.

2. Курсор MySQL()

Метод cursor() создает объект cursor , который в дальнейшем может использоваться для выполнения операций CRUD (Создание, извлечение, обновление и удаление) над базой данных.

3. Выполнение MySQL()

Метод execute() выполняет запрос SQL , переданный ему с помощью ранее созданного курсора.

4. Закрытие MySQL()

Метод close () , определенный как в курсоре, так и в классе MySqlConnection , используется для закрытия соответствующих объектов.

5. Фиксация MySQL()

Метод commit() отправляет инструкцию COMMIT на сервер MySQL и, следовательно, фиксирует текущую транзакцию данных.

6. MySQL извлекает все()

Метод fetchall() извлекает все строки результирующего набора запроса и возвращает список кортежей с использованием объекта курсора.

7. MySQL is_connected()

Этот метод проверяет, доступно ли соединение с сервером MySQL. Он возвращает True , если да, и False , если нет.

Начало Работы С Python MySQL

В этом уроке мы будем использовать Xampp Панель управления для подключения к локальному серверу и создания нашей базы данных. Запуск Apache и MySQL в Xampp делает эту работу.

Далее мы можем ударить https://localhost/phpmyadmin/ непосредственно для просмотра интерфейса нашего локального сервера, как показано ниже.

Начальный Phpmyadmin

Здесь моя база данных и studentsdb – это некоторые базы данных, которые я создал ранее.

Создание базы данных MySQL на Python

Если у вас нет ранее созданной базы данных, вы можете легко создать ее, выполнив запрос CREATE с помощью метода cursor.execute () . После установления соединения с сервером. Посмотрите на код ниже.

import pymysql

#server connection
mydb = pymysql.connect(
  host="localhost",
  user="root",
  passwd=""
)

mycursor = mydb.cursor() #cursor created

#creating database with name classdb
mycursor.execute("CREATE DATABASE classdb;")
Создание Новой Базы Данных

После выполнения приведенного выше кода вышеуказанное изменение можно увидеть в базе данных с помощью phpMyAdmin . Здесь новая база данных class db успешно создана.

Если у вас уже есть база данных, вы можете легко подключиться к ней, просто указав имя внутри метода connect () . Как показано ниже.

import pymysql

#server connection
mydb = pymysql.connect(
  host="localhost",
  user="root",
  database="classdb", #database created before
  passwd=""
)

mycursor = mydb.cursor() #cursor created

#work with the cursor here like printing initial database data

#closing the cursor
mycursor.close()

Операции с базой данных Python MySQL

В этом разделе мы сосредоточимся на различных операциях( CRUD ), которые мы можем выполнять с базой данных MySQL.

1. Python MySQL – Создать таблицу

После подключения к базе данных, которую мы хотим использовать, и создания объекта cursor мы можем легко выполнять запросы с помощью метода execute() и CREATE таблицы.

import pymysql

#server connection
mydb = pymysql.connect(
  host="localhost",
  user="root",
  database="classdb", #database
  passwd=""
)

mycursor = mydb.cursor() #cursor created

#work with the cursor
query = "CREATE TABLE Students(StudentID int  PRIMARY KEY AUTO_INCREMENT, Name CHAR(20), Lastname CHAR(20),Standard int);"

mycursor.execute(query)
#closing the cursor
mycursor.close()
Стол

Как мы видим, создается таблица со столбцами StudentID , Name , Last name и Standard .

2. Вставка Python MySQL

Теперь, когда мы уже создали таблицу, мы можем вставить строки в нее, еще раз выполнив запрос с использованием объекта курсора.

import pymysql

#server connection
mydb = pymysql.connect(
  host="localhost",
  user="root",
  database="classdb", #database
  passwd=""
)

mycursor = mydb.cursor() #cursor created

#work with the cursor
query1 = "INSERT INTO students(Name, Lastname, Standard) VALUES('Anik', 'Das', 6);"
query2 = "INSERT INTO students(Name, Lastname, Standard) VALUES('Subhash', 'Neel', 8);"
query3 = "INSERT INTO students(Name, Lastname, Standard) VALUES('Prateek', 'Neel', 8);"
query4 = "INSERT INTO students(Name, Lastname, Standard) VALUES('Prem', 'Dutta', 9);"

mycursor.execute(query1)
mycursor.execute(query2)
mycursor.execute(query3)
mycursor.execute(query4)

#closing the db
mydb.commit()
mydb.close()
После Вставки

Строки были успешно вставлены в базу данных.

3. Python Выберите MySQL

Как мы уже упоминали ранее, метод fetchall() извлекает все строки результирующего набора запроса и возвращает список кортежей с использованием объекта курсора.

Следовательно, применяя запрос для выбора некоторых уникальных или желаемых данных из базы данных, мы можем показать их с помощью метода курсора fetchall() и for-loop .

import pymysql

#server connection
mydb = pymysql.connect(
  host="localhost",
  user="root",
  database="classdb", #database
  passwd=""
)

mycursor = mydb.cursor() #cursor

#work with the cursor
res = "Select * from students;"

#executing the query
mycursor.execute(res)

rows = mycursor.fetchall()

#showing the rows
for row in rows:
   print(row)

#closing the db
mydb.commit()
mydb.close()

Выход:

(1, 'Anik', 'Das', 6)
(2, 'Subhash', 'Neel', 8)
(3, 'Prateek', 'Neel', 8)
(4, 'Prem', 'Dutta', 9)

4. Обновление Python MySQL

Кроме того, если мы хотим обновить какой-либо набор данных, мы можем использовать запрос UPDATE , как показано ниже. Здесь мы пытаемся обновить Фамилию для студента с Студенческим удостоверением = 2 (т. е. Субхаш).

import pymysql

#server connection
mydb = pymysql.connect(
  host="localhost",
  user="root",
  database="classdb", #database
  passwd=""
)

mycursor = mydb.cursor() #cursor

#query to update database data
update_query = "UPDATE students set Lastname = 'Seth' WHERE StudentID = 2"

#executing the query
mycursor.execute(update_query)

#showing the rows
res = "Select * from students;"
mycursor.execute(res)
rows = mycursor.fetchall()

for row in rows:
   print(row)

#closing the db
mydb.commit()
mydb.close()

Выход:

Выход обновления

Видно, что обновление прошло успешно.

5. Удаление Python MySQL

Давайте теперь попробуем удалить набор данных с помощью запроса курсора. Здесь мы пытаемся удалить запись или записи, которые имеют Standard > 8 . Который в данном случае является только одним(Студенческий билет 4 со стандартом 9).

import pymysql

#server connection
mydb = pymysql.connect(
  host="localhost",
  user="root",
  database="classdb", #database
  passwd=""
)

mycursor = mydb.cursor() #cursor

#query to delete database data
delete_query = "DELETE FROM students WHERE Standard > 8"

#executing the query
mycursor.execute(delete_query)

#showing the rows
res = "Select * from students;"
mycursor.execute(res)
rows = mycursor.fetchall()

for row in rows:
   print(row)

#closing the db
mydb.commit()
mydb.close()

Выход:

(1, 'Anik', 'Das', 6)
(2, 'Subhash', 'Seth', 8)
(3, 'Prateek', 'Neel', 8)
Удалить Вывод

Ясно, что удаление было выполнено успешно.

6. Python Отбрасывает таблицу в MySQL

Мы также можем удалить или удалить таблицу с помощью DROP query в MySQL. Это может быть использовано для удаления таблицы, чтобы мы могли повторно использовать имя или избежать столкновения имен таблиц.

#query to drop table
drop_query = "DROP TABLE IF EXISTS students;"

#executing the query
mycursor.execute(drop_query)

Приведенный выше фрагмент кода удаляет нашу ранее созданную таблицу, students .

Преимущества Python MySQL

  • MySQL -это бесплатное и хорошо поддерживаемое программное обеспечение от Oracle . Следовательно, он полностью надежен и надежен.
  • Он прост в использовании, быстр и бесплатен.
  • Требуется только базовое знание Языка структурированных запросов .
  • Он не зависит от платформы, и, следовательно, к базе данных, созданной с помощью Python, также можно получить доступ с помощью других платформ.
  • Существуют различные модули на выбор, с помощью которых мы можем подключиться к серверу MySQL.

Вывод

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

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

Рекомендации