You are currently viewing Python MySQL

Python MySQL

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

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

Установка

Для установки Python-mysql-соединитель модуль, у которого должны быть Python и PIP, предварительно установлен в их системе. Если Python и pip уже установлены, введите в терминале следующую команду.

pip3 install mysql-connector-python

Примечание: Если Python отсутствует, пройдите, как установить Python на Windows и Линукс? и следуйте приведенным инструкциям.

Подключение к серверу MySQL

Мы можем подключиться к серверу MySQL с помощью метода connect().

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password"
)

print(dataBase)

# Disconnecting from the server
dataBase.close()

Выход:

<mysql.connector.connection_cext.CMySQLConnection object at 0x7f73f0191d00>

Примечание: Для получения дополнительной информации обратитесь к Подключите базу данных MySQL с помощью MySQL-коннектора Python.

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

После подключения к серверу MySQL давайте посмотрим, как создайте базу данных MySQL используя Python. Для этого мы сначала создадим объект cursor(), а затем передадим команду SQL в виде строки методу execute(). Команда SQL для создания базы данных.

CREATE DATABASE DATABASE_NAME

Пример:

Создание базы данных MySQL с помощью Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

# creating database
cursorObject.execute("CREATE DATABASE gfg")

Выход:

Создание таблиц

Для создание таблиц мы будем следовать аналогичному подходу написания SQL — команд в виде строк, а затем передадим их методу execute() объекта курсора. Команда SQL для создания таблицы является:

CREATE TABLE (  column_name_1 column_Data_type,  column_name_2 column_Data_type,  :  :  column_name_n column_Data_type );

Пример:

Создание таблицы MySQL с помощью Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

# creating table
studentRecord = """CREATE TABLE STUDENT (
				NAME VARCHAR(20) NOT NULL,
				BRANCH VARCHAR(50),
				ROLL INT NOT NULL,
				SECTION VARCHAR(5),
				AGE INT
				)"""

# table created
cursorObject.execute(studentRecord)

# disconnecting from server
dataBase.close()

Выход:

Вставка данных в таблицы

Для вставка данных в таблицу MySQL Вставить в используется запрос.

Синтаксис:

INSERT INTO table_name (column_names) VALUES (data)

Пример 1:

Вставка Одной Строки

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

sql = "INSERT INTO STUDENT (NAME, BRANCH, ROLL, SECTION, AGE)\
VALUES (%s, %s, %s, %s, %s)"
val = ("Ram", "CSE", "85", "B", "19")

cursorObject.execute(sql, val)
dataBase.commit()

# disconnecting from server
dataBase.close()

Выход:

Пример 2:

Вставка Нескольких Строк

Для вставки нескольких значений одновременно используется метод executemany(). Этот метод выполняет итерацию последовательности параметров, передавая текущий параметр методу выполнения.

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

sql = "INSERT INTO STUDENT (NAME, BRANCH, ROLL, SECTION, AGE)\
VALUES (%s, %s, %s, %s, %s)"
val = [("Nikhil", "CSE", "98", "A", "18"),
	("Nisha", "CSE", "99", "A", "18"),
	("Rohan", "MAE", "43", "B", "20"),
	("Amit", "ECE", "24", "A", "21"),
	("Anil", "MAE", "45", "B", "20"),
	("Megha", "ECE", "55", "A", "22"),
	("Sita", "CSE", "95", "A", "19")]

cursorObject.executemany(sql, val)
dataBase.commit()

# disconnecting from server
dataBase.close()

Выход:

Извлечение данных

Мы можем использовать выберите запрос в таблицах MySQL следующими способами:

  • Чтобы выбрать определенные столбцы атрибутов из таблицы, мы записываем имена атрибутов.
SELECT attr1, attr2 FROM table_name

Чтобы выбрать все столбцы атрибутов из таблицы, мы используем символ звездочки»*».

SELECT * FROM table_name

Пример:

Выберите данные из таблицы MySQL с помощью Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query = "SELECT NAME, ROLL FROM STUDENT"
cursorObject.execute(query)

myresult = cursorObject.fetchall()

for x in myresult:
	print(x)

# disconnecting from server
dataBase.close()

Выход:

Где пункт

Where clause используется в базе данных MySQL для фильтрации данных в соответствии с требуемым условием. Вы можете извлекать, удалять или обновлять определенный набор данных в базе данных MySQL с помощью предложения where.

Синтаксис:

SELECT column1, column2, …. cloumnN FROM [TABLE NAME] WHERE [CONDITION];

Пример:

Предложение Where в MySQL с использованием Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query = "SELECT * FROM STUDENT where AGE >=20"
cursorObject.execute(query)

myresult = cursorObject.fetchall()

for x in myresult:
	print(x)

# disconnecting from server
dataBase.close()

Выход:

('Rohan', 'MAE', 43, 'B', 20) ('Amit', 'ECE', 24, 'A', 21) ('Anil', 'MAE', 45, 'B', 20) ('Megha', 'ECE', 55, 'A', 22)

Порядок по пунктам

Order By используется для упорядочения результирующего набора в порядке возрастания или убывания. По умолчанию он всегда находится в порядке возрастания, если не указано “DESC”, что упорядочивает его в порядке убывания. ” ASC » также можно использовать, чтобы явно расположить его в порядке возрастания. Но, как правило, это не делается таким образом, так как по умолчанию это уже делается.

Синтаксис:

SELECT column1, column2 FROM table_name ORDER BY column_name ASC|DESC;

Пример:

Предложение Order By в MySQL с использованием Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query = "SELECT * FROM STUDENT ORDER BY NAME DESC"
cursorObject.execute(query)

myresult = cursorObject.fetchall()

for x in myresult:
	print(x)

# disconnecting from server
dataBase.close()

Выход:

Предельное положение

То Предложение об ограничении используется в SQL для контроля или ограничения количества записей в результирующем наборе, возвращаемом из сгенерированного запроса. По умолчанию SQL выдает необходимое количество записей, начиная с верхнего, но позволяет использовать ключевое слово OFFSETOFFSET позволяет начать с пользовательской строки и получить необходимое количество результирующих строк.

Синтаксис:

SELECT * FROM tablename LIMIT limit; SELECT * FROM tablename LIMIT limit OFFSET offset;

Пример: 

Предложение Limit в MySQL с использованием Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query = "SELECT * FROM STUDENT LIMIT 2 OFFSET 1"
cursorObject.execute(query)

myresult = cursorObject.fetchall()

for x in myresult:
	print(x)

# disconnecting from server
dataBase.close()

Выход:

('Nikhil', 'CSE', 98, 'A', 18) ('Nisha', 'CSE', 99, 'A', 18)

Обновление данных

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

Синтаксис:

UPDATE tablename SET ="new value" WHERE ="old value";

Пример:

Обновите таблицу MySQL с помощью Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query = "UPDATE STUDENT SET AGE = 23 WHERE Name ='Ram'"
cursorObject.execute(query)
dataBase.commit()

# disconnecting from server
dataBase.close()

Выход:

Удаление данных из таблицы

Мы можем использовать Удалить запрос чтобы удалить данные из таблицы в MySQL.

Синтаксис:

DELETE FROM TABLE_NAME WHERE ATTRIBUTE_NAME = ATTRIBUTE_VALUE

Пример: 

Удалите данные из таблицы MySQL с помощью Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query = "DELETE FROM STUDENT WHERE NAME = 'Ram'"
cursorObject.execute(query)
dataBase.commit()

# disconnecting from server
dataBase.close()

Выход:

Выпадающие таблицы

Отбросьте команду влияет на структуру таблицы, а не на данные. Он используется для удаления уже существующей таблицы. В случаях, когда вы не уверены, существует ли удаляемая таблица или нет, используется команда «DROP TABLE IF EXISTS». Оба случая будут рассмотрены в следующих примерах.

Синтаксис:

DROP TABLE tablename; DROP TABLE IF EXISTS tablename;

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

Мы видим, что есть две таблицы для студентов, поэтому давайте опустим вторую таблицу.

Пример 1:

Отбросьте таблицу в MySQL с помощью Python

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query ="DROP TABLE Student;"

cursorObject.execute(query)
dataBase.commit()

# disconnecting from server
dataBase.close()

Выход:

Пример 2:

Удалите таблицу, если она существует

# importing required libraries
import mysql.connector

dataBase = mysql.connector.connect(
host ="localhost",
user ="user",
passwd ="password",
database = "gfg"
)

# preparing a cursor object
cursorObject = dataBase.cursor()

query ="Drop Table if exists Employee;"

cursorObject.execute(query)
dataBase.commit()

# disconnecting from server
dataBase.close()

Приведенный выше пример не создаст никаких ошибок и выходных данных, потому что мы использовали запрос «Таблица отбрасывания «»существует». Если мы просто будем использовать сотрудника Drop-таблицы, то ProgrammingError: 1051 (42S02): Unknown table ‘gfg.Employee’.

Упражнения на Python MySQL

Работа с таблицами

Работа над колонками

Приложения и проекты Python MySQL