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