MySQL je jednou z najpopulárnejších relačných databáz. Umožňuje vám ukladať údaje do tabuliek a vytvárať vzťahy medzi týmito tabuľkami. Ak chcete používať MySQL, ktorý beží ako databázový server, budete musieť napísať kód na pripojenie k nemu.

Väčšina programovacích jazykov ako Python to podporuje. V skutočnosti v Pythone existuje niekoľko prístupov, z ktorých každý má svoje výhody.

Pripravte si konfiguráciu MySQL

Na pripojenie k databáze potrebujete nasledujúce hodnoty:

  • Hostiteľ: umiestnenie servera MySQL, localhost, ak ho používate na rovnakom počítači.
  • Používateľ: používateľské meno MySQL.
  • Heslo: heslo MySQL.
  • Názov databázy: názov databázy, ku ktorej sa chcete pripojiť.

Pred pripojením k databáze MySQL vytvorte nový adresár:

mkdir python-mysql

Nastavte virtuálne prostredie Python

Virtuálne prostredie Pythonu vám umožňuje inštalovať balíčky a spúšťať skripty v izolovanom prostredí. Keď ty vytvoriť virtuálne prostredie, potom môžete nainštalovať verzie Pythonu a závislostí Pythonu v rámci neho. Týmto spôsobom izolujete rôzne verzie a vyhnete sa problémom s kompatibilitou.

instagram viewer

Pripojte sa k MySQL pomocou mysqlclient

The mysqlclient ovládač je rozhranie k databázovému serveru MySQL, ktoré poskytuje API databázového servera Python. Je to napísané v C.

Spustite nasledujúci príkaz vo virtuálnom prostredí na inštaláciu mysqlclient:

pip Inštalácia mysqlclient

Ak používate počítač so systémom Linux, najskôr nainštalujte vývojové hlavičky a knižnice Python 3 a MySQL.

# Debian / Ubuntu
sudo apt-get Inštalácia python3-dev predvolená-libmysqlclient-dev stavať- nevyhnutné

# Red Hat / CentOS
sudo mňam Inštalácia python3-devel mysql-devel

V systéme Windows môžete nainštalovať mysqlclient pomocou súboru binárneho kolesa. Stiahnite si súbor mysqlclient, ktorý je kompatibilný s vašou platformou Neoficiálna zbierka Christopha Gohlkeho. Potom môžete použiť stiahnutý súbor kolesa s pip na inštaláciu mysqlclient takto:

pipInštaláciac:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Na pripojenie k databáze MySQL po dokončení inštalácie použite nasledujúci kód pripojenia:

importovať MySQLdb

pripojenie = MySQLdb.connect(
hostiteľ ="localhost",
užívateľ="<mysql_user>",
passwd="<mysql_password>",
db="<názov_databázy>"
)

kurzor = connection.cursor()
kurzor.execute("vybertedatabázy();")
db = kurzor.fetchone()

ak db:
vytlačiť ("vy'znovu pripojený k databáze: ", db)
inak:
vytlačiť ('Nepripojený.')

V tomto programe máte:

  • Importovaný mysqlclient.
  • Vytvoril objekt pripojenia pomocou MySQLdb.connect().
  • Odoslali podrobnosti o konfigurácii databázy MySQLdb.connect().
  • Vytvoril objekt kurzora na interakciu s MySQL.
  • Použil objekt kurzora na načítanie verzie pripojenej databázy MySQL.

Nezabudnite vymeniť údaje databázy za svoje vlastné.

Pripojte sa k MySQL pomocou mysql-connector-python

mysql-connector-python je oficiálny ovládač pripojenia podporovaný spoločnosťou Oracle. Je tiež napísaný v čistom jazyku Python.

Nainštalujte ho cez pip, aby ste ho mohli začať používať.

pip Inštalácia mysql-connector-python

Pripojte sa k MySQL pomocou nasledujúceho kódu pripojenia.

importovať mysql.connector
od mysql.connector importovaťChyba

pripojenie = mysql.connector.connect (host="localhost",
užívateľ="<mysql_user>",
passwd="<mysql_password>",
db="<názov_databázy>")

skúste:
akspojenie.je pripojený():
kurzor = connection.cursor()
kurzor.execute("vybertedatabázy();")
db = kurzor.fetchone()
vytlačiť ("vy'znovu pripojený k databáze: ", db)
okrem Chybaako e:
vytlačiť ("Chybazatiaľ čo pripojenie k MySQL", e)
konečne:
akspojenie.je pripojený():
kurzor.Zavrieť()
spojenie.Zavrieť()
print("Pripojenie MySQL je ZATVORENÉ")

Vyššie uvedený kód pripojenia robí to isté, čo kód pripojenia mysqclient.

Po vytvorení objektu pripojenia môžete vytvoriť kurzor, ktorý potom môžete použiť na vykonávanie dotazov v databáze.

Tento program pripojenia tiež používa Skús chytiť blokovať. Trieda Error, od mysql.connector, umožňuje zachytiť výnimky vyvolané pri pripájaní k databáze. To by malo zjednodušiť ladenie a riešenie problémov.

Pripojte sa k MySQL pomocou PyMySQL

The PyMySQL ovládač pripojenia je náhradou za MySQLdb. Ak ho chcete použiť, musíte mať spustený Python 3.7 alebo novší a váš server MySQL by mal byť verzie 5. 7, alebo novší. Ak používate MariaDB, mala by byť verzia 10.2 alebo vyššia. Tieto požiadavky nájdete na stránka PyMySQL Github.

Ak chcete nainštalovať PyMySQL, spustite nasledujúci príkaz.

pip Inštalácia PyMySQL

Pripojte sa k MySQL pomocou PyMySQL pomocou tohto kódu.

importovať pymysql

pripojenie = pymysql.connect (hostiteľ="localhost",
užívateľ="<mysql_user>",
heslo ="<mysql_password>",
databáza ="<názov_databázy>")

skúste:
kurzor = connection.cursor()
kurzor.execute("vybertedatabázy();")
db = kurzor.fetchone()
vytlačiť ("vy'znovu pripojený k databáze: ", db)
okrem pymysql. Chyba ako e:
vytlačiť ("Chybazatiaľ čo pripojenie k MySQL", e)
konečne:
kurzor.Zavrieť()
spojenie.Zavrieť()
print("Pripojenie MySQL je ZATVORENÉ")

Po vytvorení pripojenia a vytvorení objektu kurzora môžete začať vytvárať SQL dotazy.

Pripojte sa k MySQL pomocou aiomysql

The aiomysql ovládač pripojenia je ako asynchrónna verzia PyMySQL. Poskytuje prístup k databáze MySQL z rámca asyncio.

Ak chcete používať aiomysql, musíte mať vo svojom vývojovom prostredí nainštalovaný Python 3.7+ a PyMySQL.

Spustite nasledujúci príkaz na inštaláciu asyncio a aiomysql.

pip Inštalácia asyncio
pip Inštalácia aiomysql

Pomocou aiomysql môžete pripojiť Python k MySQL pomocou základného objektu pripojenia a pomocou fondu pripojení.

Tu je príklad, ktorý ukazuje, ako sa pripojiť k databáze MySQL pomocou objektu pripojenia.

importovať asyncio
importovať aiomysql
loop = asyncio.get_event_loop()

asyncdefpython_mysql():
connection = wait aiomysql.connect (host="localhost",
užívateľ="<mysql_user>",
heslo ="<mysql_password>",
databáza ="<názov_databázy>")

cur = čakať connection.cursor()
čakať cur.execute("vybertedatabázy();")
db = čakať cur.fetchone()
vytlačiť ("vy'znovu pripojený k databáze: ", db)
čakať cur.close()
spojenie.Zavrieť()

slučka.run_until_complete(python_mysql())

Na rozdiel od objektu pripojenia k databáze vám oblasť pripojení umožňuje opätovne použiť pripojenia k databáze. Robí to udržiavaním skupiny otvorených pripojení a ich priraďovaním na požiadanie. Keď klient požiada o pripojenie, je mu priradené pripojenie z fondu. Keď klient zatvorí pripojenie, pripojenie sa vráti späť do oblasti.

Základný kód pre pripojenie cez bazén je takýto:

importovať asyncio
importovať aiomysql
loop = asyncio.get_event_loop()
asyncdefpython_mysql():
pool = čaká na aiomysql.create_pool (host="localhost",
užívateľ="<mysql_user>",
heslo ="<mysql_password>",
databáza ="<názov_databázy>", loop=loop, autocommit=False)

asyncs pool.acquire() ako spojenie:
kurzor = čakať connection.cursor()
čakať cur.execute("vybertedatabázy();")
db = čakať cur.fetchone()
vytlačiť ("vy'znovu pripojený k databáze: ", db)

bazén.Zavrieť()
čakať pool.wait_closed()

slučka.run_until_complete(python_mysql())

Tento program by mal pri spustení vytlačiť verziu MySQL, ku ktorej ste sa pripojili.

Správa vašej PostgreSQL databázy

Tento článok vám ukázal niekoľko spôsobov, ako môžete pripojiť aplikáciu Python k MySQL. Každá z týchto metód vám umožňuje interagovať s databázou a vykonávať v nej dotazy.

Po pripojení k databáze MySQL môžete vykonávať dátové dotazy a vykonávať databázové transakcie. Môžete vytvoriť aplikáciu Python, pripojiť ju k MySQL a začať ukladať údaje.