MySQL Connector Python: How to Connect and Use Guide
MySQL Connector/Python это официально рекомендуемый драйвер MySQL для Python. Он позволяет взаимодействовать с базами данных MySQL из Python, используя стандартные инструменты Python.
Для использования MySQL Connector/Python нужно его установить с помощью pip:
pip install mysql-connector-python
После установки драйвера его можно использовать для подключения к базе данных MySQL. Например:
python
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="myusername",
password="mypassword",
database="mydatabase"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
print(x)
В данном примере мы создаем подключение к локальной базе данных MySQL с помощью учетных данных и имени базы данных. Затем мы создаем объект курсора, который позволяет нам выполнять команды SQL на сервере. Мы запрашиваем все записи из таблицы "customers" и выводим их на экран.
MySQL Connector/Python также позволяет выполнять транзакции, создавать индексы и многое другое.
Ниже приведены примеры использования MySQL Connector/Python для выполнения различных задач:
python
# Вставка новой записи в таблицу
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
# Получение последнего вставленного идентификатора
print("The last inserted ID was:", mycursor.lastrowid)
# Обновление записей в таблице
sql = "UPDATE customers SET address = %s WHERE name = %s"
val = ("Canyon 123", "John")
mycursor.execute(sql, val)
# Удаление записей из таблицы
sql = "DELETE FROM customers WHERE address = %s"
adr = ("Canyon 123", )
mycursor.execute(sql, adr)
# Создание таблицы
mycursor.execute("CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))")
# Создание индекса
mycursor.execute("CREATE INDEX idx_address ON customers (address)")
Кроме того, MySQL Connector/Python позволяет использовать подготовленные запросы, что улучшает безопасность и производительность при работе с базой данных.
python
# Использование подготовленного запроса
sql = "SELECT * FROM customers WHERE address = %s"
adr = ("Yellow Garden 2", )
mycursor.execute(sql, adr)
myresult = mycursor.fetchall()
for x in myresult:
print(x)
В данном примере мы используем подготовленный запрос для выборки записей из таблицы "customers" с определенным значением поля "address".
MySQL Connector/Python также поддерживает асинхронный режим работы, что может быть полезным в приложениях с большим числом запросов к базе данных.
python
import asyncio
import mysql.connector
async def main():
mydb = mysql.connector.connect(
host="localhost",
user="myusername",
password="mypassword",
database="mydatabase"
)
mycursor = mydb.cursor()
await mycursor.execute("SELECT * FROM customers")
myresult = await mycursor.fetchall()
for x in myresult:
print(x)
await main()
В данном примере мы создаем функцию "main", которую запускаем асинхронно с помощью ключевого слова "await". В функции мы создаем подключение к базе данных, создаем объект курсора и выполняем запрос на выборку данных. Результат выводим на экран.
MySQL Connector/Python это мощный инструмент для взаимодействия с базами данных MySQL из Python. Он поставляется с полезными функциями для манипулирования данными и позволяет экономить время при разработке приложений.