MySQL е една от най-популярните релационни бази данни. Тя ви позволява да съхранявате данни в таблици и да създавате връзки между тези таблици. За да използвате MySQL, който работи като сървър на база данни, ще трябва да напишете код, за да се свържете с него.

Повечето езици за програмиране като Python осигуряват поддръжка за това. Всъщност в Python има няколко подхода, които можете да предприемете, всеки със своите предимства.

Подгответе вашата MySQL конфигурация

За да се свържете с базата данни, ви трябват следните стойности:

  • Хост: местоположението на MySQL сървъра, локален хост, ако го изпълнявате на същия компютър.
  • Потребител: потребителското име на MySQL.
  • Парола: паролата за MySQL.
  • Име на база данни: името на базата данни, към която искате да се свържете.

Преди да се свържете с базата данни MySQL, създайте нова директория:

mkdir python-mysql

Настройте виртуална среда на Python

Виртуалната среда на Python ви позволява да инсталирате пакети и да изпълнявате скриптове в изолирана среда. Когато ти

instagram viewer
създаване на виртуална среда, след това можете да инсталирате версии на Python и Python зависимости в него. По този начин изолирате различни версии и избягвате проблеми със съвместимостта.

Свържете се с MySQL с помощта на mysqlclient

В mysqlclient драйверът е интерфейс към сървъра на база данни MySQL, който предоставя API на сървъра на база данни на Python. Написано е на C.

Изпълнете следната команда във виртуалната среда, за да инсталирате mysqlclient:

пип Инсталирай mysqlclient

Ако сте на Linux машина, първо инсталирайте заглавките и библиотеките за разработка на Python 3 и MySQL.

# Debian / Ubuntu
sudo apt-get Инсталирай python3-dev по подразбиране-libmysqlclient-dev строя- съществено

# Red Hat / CentOS
судо ням Инсталирай python3-devel mysql-devel

В Windows можете да инсталирате mysqlclient с помощта на двоичен файл с колело. Изтеглете файла mysqlclient, който е съвместим с вашата платформа, от Неофициална колекция на Кристоф Голке. След това можете да използвате изтегления файл на колелото с pip, за да инсталирате mysqlclient по следния начин:

пипИнсталирай° С:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Използвайте следния код за връзка, за да се свържете с базата данни MySQL, след като инсталацията приключи:

внос MySQLdb

връзка = MySQLdb.connect(
хост="локален хост",
потребител="<mysql_user>",
passwd="<mysql_password>",
db="<име на база данни>"
)

курсор = връзка.курсор()
cursor.execute("изберетебаза данни();")
db = cursor.fetchone()

ако db:
печат("Ти'отново свързан към базата данни: ", db)
друго:
печат('Няма връзка.')

В тази програма имате:

  • Импортиран mysqlclient.
  • Създаден обект за връзка с помощта на MySQLdb.connect().
  • Предадох подробностите за конфигурацията на базата данни на MySQLdb.connect().
  • Създаден обект на курсора за взаимодействие с MySQL.
  • Използва обекта курсор, за да извлече версията на свързаната база данни MySQL.

Не забравяйте да превключите данните на базата данни със свои собствени.

Свържете се с MySQL с помощта на mysql-connector-python

mysql-конектор-python е официалният драйвер за връзка, поддържан от Oracle. Освен това е написан на чист Python.

Инсталирайте го чрез pip, за да започнете да го използвате.

пип Инсталирай mysql-конектор-python

Свържете се с MySQL, като използвате следния код за връзка.

внос mysql.connector
от mysql.connector вносГрешка

връзка = mysql.connector.connect (хост="локален хост",
потребител="<mysql_user>",
passwd="<mysql_password>",
db="<име на база данни>")

опитвам:
акоВръзка.е свързан():
курсор = връзка.курсор()
cursor.execute("изберетебаза данни();")
db = cursor.fetchone()
печат("Ти'повторно свързан към dtabase: ", db)
с изключение Грешкакато д:
печат ("Грешкадокато свързване към MySQL", e)
накрая:
акоВръзка.е свързан():
курсор.близо()
Връзка.близо()
print("MySQL връзка е затворен")

Горният код за връзка прави същото, което прави кодът за връзка на mysqclient.

След като създадете обекта за връзка, можете да създадете курсор, който след това да използвате за изпълнение на заявки в базата данни.

Тази програма за свързване също използва опитай да хванеш блок. Класът Error, от mysql.connector, ви позволява да хващате изключения, повдигнати при свързване към базата данни. Това трябва да опрости отстраняването на грешки и отстраняването на неизправности.

Свържете се с MySQL с помощта на PyMySQL

В PyMySQL драйверът за връзка е заместител на MySQLdb. За да го използвате, трябва да използвате Python 3.7 или по-нова версия и вашият MySQL сървър трябва да е версия 5. 7 или по-нова. Ако използвате MariaDB, тя трябва да е версия 10.2 или по-нова. Можете да намерите тези изисквания на PyMySQL страница на Github.

За да инсталирате PyMySQL, изпълнете следната команда.

пип Инсталирай PyMySQL

Свържете се с MySQL, като използвате PyMySQL, като използвате този код.

внос pymysql

връзка = pymysql.connect (хост="локален хост",
потребител="<mysql_user>",
парола="<mysql_password>",
база данни="<име на база данни>")

опитвам:
курсор = връзка.курсор()
cursor.execute("изберетебаза данни();")
db = cursor.fetchone()
печат("Ти'отново свързан към базата данни: ", db)
с изключение pymysql. Грешка като д:
печат ("Грешкадокато свързване към MySQL", e)
накрая:
курсор.близо()
Връзка.близо()
print("MySQL връзка е затворен")

След като направите връзката и създадете обекта на курсора, можете да започнете да правите SQL заявки.

Свържете се с MySQL с помощта на aiomysql

В aiomysql драйверът за връзка е като асинхронната версия на PyMySQL. Той осигурява достъп до MySQL база данни от рамката asyncio.

За да използвате aiomysql, имате нужда от Python 3.7+ и PyMySQL, инсталирани във вашата среда за разработка.

Изпълнете следната команда, за да инсталирате asyncio и aiomysql.

пип Инсталирай asyncio
пип Инсталирай aiomysql

С aiomysql можете да свържете Python към MySQL, като използвате основен обект за връзка и използвайки пул за връзки.

Ето пример, показващ как да се свържете с MySQL базата данни с помощта на обект за връзка.

внос asyncio
внос aiomysql
цикъл = asyncio.get_event_loop()

асинхроннодефpython_mysql():
връзка = чакам aiomysql.connect (хост="локален хост",
потребител="<mysql_user>",
парола="<mysql_password>",
база данни="<име на база данни>")

cur = чакам connection.cursor()
чакам cur.execute("изберетебаза данни();")
db = чакам cur.fetchone()
печат("Ти'отново свързан към базата данни: ", db)
чакам cur.close()
Връзка.близо()

цикъл.run_until_complete(python_mysql())

За разлика от обект за връзка с база данни, пулът за връзки ви позволява да използвате повторно връзки към база данни. Той прави това, като поддържа пул от отворени връзки и ги присвоява при поискване. Когато клиент поиска връзка, му се присвоява такава от пула. След като клиентът затвори връзката, връзката се връща към пула.

Основният код за свързване през пул е както следва:

внос asyncio
внос aiomysql
цикъл = asyncio.get_event_loop()
асинхроннодефpython_mysql():
pool = await aiomysql.create_pool (host="локален хост",
потребител="<mysql_user>",
парола="<mysql_password>",
база данни="<име на база данни>", loop=loop, autocommit=False)

асинхроннос pool.acquire() като Връзка:
курсор = чакам connection.cursor()
чакам cur.execute("изберетебаза данни();")
db = чакам cur.fetchone()
печат("Ти'отново свързан към базата данни: ", db)

басейн.близо()
чакам pool.wait_closed()

цикъл.run_until_complete(python_mysql())

Тази програма трябва да отпечата версията на MySQL, към която сте се свързали, когато я стартирате.

Управление на вашата PostgreSQL база данни

Тази статия ви показа няколко начина, по които можете да свържете приложение на Python към MySQL. Всеки от тези методи ви позволява да взаимодействате и да изпълнявате заявки в базата данни.

Веднъж свързани към база данни на MySQL, можете да изпълнявате заявки за данни и да извършвате транзакции на база данни. Можете да създадете приложение на Python, да го свържете към MySQL и да започнете да съхранявате данни.