MySQL je jednou z nejpopulárnějších relačních databází. Umožňuje ukládat data do tabulek a vytvářet vztahy mezi těmito tabulkami. Chcete-li používat MySQL, který běží jako databázový server, budete muset napsat kód pro připojení k němu.

Většina programovacích jazyků jako Python toto podporuje. Ve skutečnosti v Pythonu existuje několik přístupů, z nichž každý má své vlastní výhody.

Připravte si konfiguraci MySQL

Pro připojení k databázi potřebujete následující hodnoty:

  • Host: umístění serveru MySQL, localhost, pokud jej provozujete na stejném počítači.
  • Uživatel: uživatelské jméno MySQL.
  • Heslo: heslo MySQL.
  • Název databáze: název databáze, ke které se chcete připojit.

Před připojením k databázi MySQL vytvořte nový adresář:

mkdir python-mysql

Nastavte virtuální prostředí Pythonu

Virtuální prostředí Pythonu vám umožňuje instalovat balíčky a spouštět skripty v izolovaném prostředí. Když vás vytvořit virtuální prostředí, můžete v něm nainstalovat verze Pythonu a závislostí Pythonu. Tímto způsobem izolujete různé verze a vyhnete se problémům s kompatibilitou.

instagram viewer

Připojte se k MySQL pomocí mysqlclient

The mysqlclient driver je rozhraní k databázovému serveru MySQL, které poskytuje rozhraní API databázového serveru Python. Je to napsáno v C.

Spuštěním následujícího příkazu ve virtuálním prostředí nainstalujte mysqlclient:

pip Nainstalujte mysqlclient

Pokud používáte počítač s Linuxem, nainstalujte nejprve vývojové hlavičky a knihovny Python 3 a MySQL.

# Debian / Ubuntu
sudo apt-get Nainstalujte python3-dev výchozí-libmysqlclient-dev stavět-nezbytný

# Red Hat / CentOS
sudo mňam Nainstalujte python3-devel mysql-devel

V systému Windows můžete nainstalovat mysqlclient pomocí souboru binárního kola. Stáhněte si soubor mysqlclient, který je kompatibilní s vaší platformou Neoficiální sbírka Christopha Gohlkeho. Poté můžete použít stažený soubor kola s pip k instalaci mysqlclient takto:

pipNainstalujteC:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Pro připojení k databázi MySQL po dokončení instalace použijte následující kód připojení:

import MySQLdb

připojení = MySQLdb.connect(
hostitel ="localhost",
uživatel="<mysql_user>",
passwd="<mysql_password>",
db="<jméno databáze>"
)

kurzor = connection.cursor()
kurzor.execute("vybratdatabáze();")
db = kurzor.fetchone()

pokud db:
tisk("Vy'znovu připojen k databázi: ", db)
jiný:
tisk('Nepřipojený.')

V tomto programu máte:

  • Importovaný mysqlclient.
  • Vytvořil objekt připojení pomocí MySQLdb.connect().
  • Předal podrobnosti o konfiguraci databáze MySQLdb.connect().
  • Vytvořil objekt kurzoru pro interakci s MySQL.
  • Použil objekt kurzoru k načtení verze připojené databáze MySQL.

Nezapomeňte vyměnit databázové údaje za vlastní.

Připojte se k MySQL pomocí mysql-connector-python

mysql-connector-python je oficiální ovladač připojení podporovaný společností Oracle. Je také napsán v čistém Pythonu.

Nainstalujte jej přes pip, abyste jej mohli začít používat.

pip Nainstalujte mysql-connector-python

Připojte se k MySQL pomocí následujícího připojovacího kódu.

import mysql.connector
z mysql.connector importChyba

connection = mysql.connector.connect (host="localhost",
uživatel="<mysql_user>",
passwd="<mysql_password>",
db="<jméno databáze>")

Snaž se:
-lispojení.je připojen():
kurzor = connection.cursor()
kurzor.execute("vybratdatabáze();")
db = kurzor.fetchone()
tisk("Vy'znovu připojen k dtabase: ", db)
až na Chybatak jako E:
tisk("Chybazatímco připojení k MySQL", e)
Konečně:
-lispojení.je připojen():
kurzor.zavřít()
spojení.zavřít()
print("Připojení MySQL je ZAVŘENO")

Výše uvedený kód připojení dělá to samé, co dělá kód připojení mysqclient.

Jakmile vytvoříte objekt připojení, můžete vytvořit kurzor, který pak můžete použít k provádění dotazů na databázi.

Tento spojovací program také používá Zkus chytit blok. Třída Error, od mysql.connector, umožňuje zachytit výjimky vyvolané při připojování k databázi. To by mělo zjednodušit ladění a odstraňování problémů.

Připojte se k MySQL pomocí PyMySQL

The PyMySQL ovladač připojení je náhradou za MySQLdb. Chcete-li jej používat, musíte používat Python 3.7 nebo novější a váš server MySQL by měl být verze 5. 7, nebo novější. Pokud používáte MariaDB, měla by být verze 10.2 nebo vyšší. Tyto požadavky najdete na Stránka PyMySQL Github.

Chcete-li nainstalovat PyMySQL, spusťte následující příkaz.

pip Nainstalujte PyMySQL

Připojte se k MySQL pomocí PyMySQL pomocí tohoto kódu.

import pymysql

připojení = pymysql.connect (host="localhost",
uživatel="<mysql_user>",
heslo="<mysql_password>",
databáze ="<jméno databáze>")

Snaž se:
kurzor = connection.cursor()
kurzor.execute("vybratdatabáze();")
db = kurzor.fetchone()
tisk("Vy'znovu připojen k databázi: ", db)
až na pymysql. Chyba tak jako E:
tisk("Chybazatímco připojení k MySQL", e)
Konečně:
kurzor.zavřít()
spojení.zavřít()
print("Připojení MySQL je ZAVŘENO")

Jakmile vytvoříte připojení a vytvoříte objekt kurzoru, můžete začít vytvářet SQL dotazy.

Připojte se k MySQL pomocí aiomysql

The aiomysql ovladač připojení je jako asynchronní verze PyMySQL. Poskytuje přístup k databázi MySQL z rámce asyncio.

Chcete-li používat aiomysql, potřebujete ve svém vývojovém prostředí nainstalovaný Python 3.7+ a PyMySQL.

Spuštěním následujícího příkazu nainstalujte asyncio a aiomysql.

pip Nainstalujte asyncio
pip Nainstalujte aiomysql

S aiomysql můžete připojit Python k MySQL pomocí základního objektu připojení a pomocí fondu připojení.

Zde je příklad ukazující, jak se připojit k databázi MySQL pomocí objektu připojení.

import asyncio
import aiomysql
loop = asyncio.get_event_loop()

asynchronnídefpython_mysql():
connection = čekat na aiomysql.connect (host="localhost",
uživatel="<mysql_user>",
heslo="<mysql_password>",
databáze ="<jméno databáze>")

cur = čekat connection.cursor()
čekat cur.execute("vybratdatabáze();")
db = čekat cur.fetchone()
tisk("Vy'znovu připojen k databázi: ", db)
čekat cur.close()
spojení.zavřít()

smyčka.run_until_complete(python_mysql())

Na rozdíl od objektu připojení k databázi vám fond připojení umožňuje opakovaně používat databázová připojení. Dělá to udržováním fondu otevřených připojení a jejich přiřazením na požádání. Když klient požaduje připojení, je mu přiřazeno připojení z fondu. Jakmile klient připojení uzavře, připojení se vrátí zpět do fondu.

Základní kód pro připojení prostřednictvím fondu je následující:

import asyncio
import aiomysql
loop = asyncio.get_event_loop()
asynchronnídefpython_mysql():
pool = wait aiomysql.create_pool (host="localhost",
uživatel="<mysql_user>",
heslo="<mysql_password>",
databáze ="<jméno databáze>", loop=loop, autocommit=False)

asynchronnís pool.acquire() tak jako spojení:
kurzor = čekat connection.cursor()
čekat cur.execute("vybratdatabáze();")
db = čekat cur.fetchone()
tisk("Vy'znovu připojen k databázi: ", db)

bazén.zavřít()
čekat pool.wait_closed()

smyčka.run_until_complete(python_mysql())

Tento program by měl při spuštění vytisknout verzi MySQL, ke které jste se připojili.

Správa vaší PostgreSQL databáze

Tento článek vám ukázal několik způsobů, jak můžete připojit aplikaci Python k MySQL. Každá z těchto metod umožňuje interakci a provádění dotazů v databázi.

Po připojení k databázi MySQL můžete provádět datové dotazy a provádět databázové transakce. Můžete vytvořit aplikaci Python, připojit ji k MySQL a začít ukládat data.