A MySQL az egyik legnépszerűbb relációs adatbázis. Lehetővé teszi adatok tárolását táblákban, és kapcsolatok létrehozását a táblák között. Az adatbázis-kiszolgálóként futó MySQL használatához kódot kell írnia a csatlakozáshoz.
A legtöbb programozási nyelv, például a Python támogatja ezt. Valójában a Pythonban többféle megközelítés is használható, mindegyiknek megvannak a maga előnyei.
Készítse elő MySQL konfigurációját
Az adatbázishoz való csatlakozáshoz a következő értékekre van szükség:
- Gazdagép: a MySQL-kiszolgáló helye, a localhost, ha ugyanazon a számítógépen futtatja.
- Felhasználó: a MySQL felhasználónév.
- Jelszó: a MySQL jelszó.
- Adatbázis neve: annak az adatbázisnak a neve, amelyhez csatlakozni kíván.
Mielőtt csatlakozna a MySQL adatbázishoz, hozzon létre egy új könyvtárat:
mkdir python-mysql
Állítson be egy Python virtuális környezetet
A Python virtuális környezet lehetővé teszi csomagok telepítését és parancsfájlok futtatását elszigetelt környezetben. Amikor te hozzon létre egy virtuális környezetet
, ezután telepítheti benne a Python és a Python-függőségek verzióit. Így elkülönítheti a különböző verziókat, és elkerülheti a kompatibilitási problémákat.Csatlakozzon a MySQL-hez a mysqlclient használatával
Az mysqlclient Az illesztőprogram egy felület a MySQL adatbázis-kiszolgálóhoz, amely biztosítja a Python adatbázis-kiszolgáló API-t. C-ben van írva.
Futtassa a következő parancsot a virtuális környezetben a mysqlclient telepítéséhez:
csipog telepítés mysqlclient
Ha Linuxos gépet használ, először telepítse a Python 3 és a MySQL fejlesztési fejléceit és könyvtárait.
# Debian / Ubuntu
sudo apt-get telepítés python3-dev alapértelmezett-libmysqlclient-dev épít-alapvető
# Red Hat / CentOS
sudo yum telepítés python3-devel mysql-devel
Windows rendszeren a mysqlclient bináris kerékfájl használatával telepíthető. Töltse le a platformjával kompatibilis mysqlclient fájlt innen Christoph Gohlke nem hivatalos gyűjteménye. Ezután használhatja a letöltött kerékfájlt pip-vel a mysqlclient telepítéséhez, így:
csipogtelepítésc:\\mysqlclient‑1.3.13‑cp36‑cp36m‑win_amd64.whl
A telepítés befejezése után használja a következő csatlakozási kódot a MySQL adatbázishoz való csatlakozáshoz:
import MySQLdb
connection = MySQLdb.connect(
host="helyi kiszolgáló",
user="<mysql_user>",
passwd="<mysql_password>",
db="<adatbázis név>"
)kurzor = kapcsolat.cursor()
cursor.execute("válassza kiadatbázis();")
db = cursor.fetchone()
ha db:
nyomtatás("Ön'újra csatlakoztatva az adatbázishoz: ", db)
más:
nyomtatás('Nem kapcsolódik.')
Ebben a programban a következők állnak rendelkezésére:
- Importált mysqlclient.
- Kapcsolati objektumot hozott létre a MySQLdb.connect() segítségével.
- Az adatbázis-konfiguráció részleteit átadta a MySQLdb.connect()-nek.
- Létrehozott egy kurzorobjektumot a MySQL-lel való interakcióhoz.
- A kurzorobjektumot használta a csatlakoztatott MySQL adatbázis verziójának lekérésére.
Ne felejtse el megváltoztatni az adatbázis adatait a sajátjával.
Csatlakozzon a MySQL-hez a mysql-connector-python használatával
mysql-connector-python az Oracle által támogatott hivatalos kapcsolati illesztőprogram. Ez is tiszta Pythonban van megírva.
Telepítse pip-en keresztül a használat megkezdéséhez.
csipog telepítés mysql-connector-python
Csatlakozzon a MySQL-hez a következő csatlakozási kóddal.
import mysql.connector
tól től mysql.connector importHibakapcsolat = mysql.connector.connect (host="helyi kiszolgáló",
user="<mysql_user>",
passwd="<mysql_password>",
db="<adatbázis név>")
próbálja meg:
hakapcsolat.is_connected():
kurzor = kapcsolat.cursor()
cursor.execute("válassza kiadatbázis();")
db = cursor.fetchone()
nyomtatás("Ön'újra csatlakoztatva a dtabase-hoz: ", db)
kivéve Hibamint e:
nyomtatás("Hibamíg kapcsolódás a MySQL-hez", e)
végül:
hakapcsolat.is_connected():
kurzor.Bezárás()
kapcsolat.Bezárás()
print("MySQL kapcsolat van zárva")
A fenti csatlakozási kód ugyanazt teszi, mint a mysqclient csatlakozási kód.
Miután létrehozta a kapcsolati objektumot, létrehozhat egy kurzort, amellyel lekérdezéseket hajthat végre az adatbázisban.
Ez a csatlakozási program is használja a próbáld… elkapni Blokk. A hibaosztály, tól mysql.connector, lehetővé teszi az adatbázishoz való csatlakozáskor felmerülő kivételek észlelését. Ez leegyszerűsíti a hibakeresést és a hibaelhárítást.
Csatlakozzon a MySQL-hez PyMySQL használatával
Az PyMySQL kapcsolati illesztőprogram a MySQLdb helyettesítője. Használatához Python 3.7-es vagy újabb verzióját kell futtatnia, és a MySQL-kiszolgálónak 5-ös verziójúnak kell lennie. 7, vagy újabb. Ha MariaDB-t használ, annak 10.2-es vagy újabb verziójúnak kell lennie. Ezeket a követelményeket megtalálja a PyMySQL Github oldal.
A PyMySQL telepítéséhez futtassa a következő parancsot.
csipog telepítés PyMySQL
Csatlakozzon a MySQL-hez PyMySQL használatával ezzel a kóddal.
import pymysql
kapcsolat = pymysql.connect (host="helyi kiszolgáló",
user="<mysql_user>",
jelszó="<mysql_password>",
adatbázis="<adatbázis név>")
próbálja meg:
kurzor = kapcsolat.cursor()
cursor.execute("válassza kiadatbázis();")
db = cursor.fetchone()
nyomtatás("Ön'újra csatlakoztatva az adatbázishoz: ", db)
kivéve pymysql. Hiba mint e:
nyomtatás("Hibamíg kapcsolódás a MySQL-hez", e)
végül:
kurzor.Bezárás()
kapcsolat.Bezárás()
print("MySQL kapcsolat van zárva")
Miután létrehozta a kapcsolatot, és létrehozta a kurzorobjektumot, megkezdheti a létrehozást SQL lekérdezések.
Csatlakozzon a MySQL-hez aiomysql használatával
Az aiomysql kapcsolati illesztőprogram olyan, mint a PyMySQL aszinkron verziója. Hozzáférést biztosít egy MySQL adatbázishoz az asyncio keretrendszerből.
Az aiomysql használatához a Python 3.7+ és a PyMySQL telepítése szükséges a fejlesztői környezetbe.
Futtassa a következő parancsot az asyncio és az aiomysql telepítéséhez.
csipog telepítés asyncio
csipog telepítés aiomysql
Az aiomysql segítségével a Python-t a MySQL-hez csatlakoztathatja egy alapvető kapcsolati objektum és egy kapcsolatkészlet használatával.
Íme egy példa, amely bemutatja, hogyan csatlakozhat a MySQL adatbázishoz egy kapcsolati objektum segítségével.
import asyncio
import aiomysql
loop = asyncio.get_event_loop()asyncdefpython_mysql():
kapcsolat = vár aiomysql.connect (host="helyi kiszolgáló",
user="<mysql_user>",
jelszó="<mysql_password>",
adatbázis="<adatbázis név>")cur = várják connect.cursor()
várja a cur.execute("válassza kiadatbázis();")
db = várják cur.fetchone()
nyomtatás("Ön'újra csatlakoztatva az adatbázishoz: ", db)
várják cur.close()
kapcsolat.Bezárás()
hurok.run_until_complete(python_mysql())
Az adatbázis-kapcsolati objektumokkal ellentétben a kapcsolatkészlet lehetővé teszi az adatbázis-kapcsolatok újrafelhasználását. Ezt úgy teszi, hogy fenntart egy nyitott kapcsolatokat, és kérésre hozzárendeli azokat. Amikor egy ügyfél kapcsolatot kér, a rendszer hozzárendel egyet a készletből. Miután az ügyfél lezárja a kapcsolatot, a kapcsolat visszatér a készlethez.
A medencén keresztüli csatlakozás alapkódja a következő:
import asyncio
import aiomysql
loop = asyncio.get_event_loop()
asyncdefpython_mysql():
pool = vár aiomysql.create_pool (host="helyi kiszolgáló",
user="<mysql_user>",
jelszó="<mysql_password>",
adatbázis="<adatbázis név>", loop=loop, autocommit=False)asyncval vel pool.acquire() mint kapcsolat:
kurzor = várják connect.cursor()
várja a cur.execute("válassza kiadatbázis();")
db = várják cur.fetchone()
nyomtatás("Ön'újra csatlakoztatva az adatbázishoz: ", db)medence.Bezárás()
várják pool.wait_closed()
hurok.run_until_complete(python_mysql())
Ennek a programnak ki kell nyomtatnia a MySQL azon verzióját, amelyhez csatlakozott a futtatásakor.
PostgreSQL-adatbázis kezelése
Ez a cikk számos módszert mutat be, amellyel Python-alkalmazásokat csatlakoztathat a MySQL-hez. Ezen módszerek mindegyike lehetővé teszi az adatbázissal való interakciót és lekérdezések végrehajtását.
Miután csatlakozott egy MySQL adatbázishoz, adatlekérdezéseket és adatbázis-tranzakciókat hajthat végre. Létrehozhat egy Python alkalmazást, csatlakoztathatja a MySQL-hez, és elkezdheti az adatok tárolását.