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.
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.13‑cp36‑cp36m‑win_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 importChybaconnection = 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.