MySQL ist eine der beliebtesten relationalen Datenbanken. Es ermöglicht Ihnen, Daten in Tabellen zu speichern und Beziehungen zwischen diesen Tabellen herzustellen. Um MySQL zu verwenden, das als Datenbankserver läuft, müssen Sie Code schreiben, um sich damit zu verbinden.

Die meisten Programmiersprachen wie Python unterstützen dies. Tatsächlich gibt es in Python mehrere Ansätze, die Sie verfolgen können, jeder mit seinen eigenen Vorteilen.

Bereiten Sie Ihre MySQL-Konfiguration vor

Um sich mit der Datenbank zu verbinden, benötigen Sie die folgenden Werte:

  • Host: Der Speicherort des MySQL-Servers, localhost, wenn Sie ihn auf demselben Computer ausführen.
  • Benutzer: der MySQL-Benutzername.
  • Passwort: das MySQL-Passwort.
  • Datenbankname: Der Name der Datenbank, mit der Sie sich verbinden möchten.

Bevor Sie sich mit der MySQL-Datenbank verbinden, erstellen Sie ein neues Verzeichnis:

mkdir python-mysql

Richten Sie eine virtuelle Python-Umgebung ein

Eine virtuelle Python-Umgebung ermöglicht es Ihnen, Pakete zu installieren und Skripts in einer isolierten Umgebung auszuführen. Wenn du

instagram viewer
Erstellen Sie eine virtuelle Umgebung, können Sie dann Versionen von Python und Python-Abhängigkeiten darin installieren. Auf diese Weise isolieren Sie verschiedene Versionen und vermeiden Kompatibilitätsprobleme.

Verbinden Sie sich mit MySQL mit mysqlclient

Das mysqlclient Treiber ist eine Schnittstelle zum MySQL-Datenbankserver, der die Python-Datenbankserver-API bereitstellt. Es ist in C geschrieben.

Führen Sie den folgenden Befehl in der virtuellen Umgebung aus, um mysqlclient zu installieren:

Pip Installieren mysqlclient

Wenn Sie sich auf einem Linux-Computer befinden, installieren Sie zuerst die Python 3- und MySQL-Entwicklungsheader und -bibliotheken.

# Debian/Ubuntu
sudo apt-get Installieren python3-dev Ursprünglich-libmysqlclient-dev bauen-wesentlich

# Red Hat / CentOS
sudo lecker Installieren python3-devel mysql-devel

Unter Windows können Sie mysqlclient mit einer Binärraddatei installieren. Laden Sie die mysqlclient-Datei herunter, die mit Ihrer Plattform kompatibel ist Die inoffizielle Sammlung von Christoph Gohlke. Sie können dann die heruntergeladene Wheel-Datei mit pip verwenden, um mysqlclient wie folgt zu installieren:

PipInstallierenc:\\mysqlclient‑1.3.13cp36cp36mwin_amd64.whl

Verwenden Sie den folgenden Verbindungscode, um sich nach Abschluss der Installation mit der MySQL-Datenbank zu verbinden:

importieren MySQLdb

Verbindung = MySQLdb.connect(
host="lokaler Host",
Benutzer="<mysql_user>",
Passwort="<mysql_passwort>",
db="<Name der Datenbank>"
)

Cursor = Verbindung. Cursor ()
cursor.execute("auswählenDatenbank();")
db = cursor.fetchone()

wenn db:
drucken("Du'erneut mit der Datenbank verbunden: ", dB)
anders:
drucken('Nicht verbunden.')

In diesem Programm haben Sie:

  • mysqlclient importiert.
  • Erstellt ein Verbindungsobjekt mit MySQLdb.connect().
  • Die Datenbankkonfigurationsdetails wurden an MySQLdb.connect() übergeben.
  • Ein Cursor-Objekt erstellt, um mit MySQL zu interagieren.
  • Verwendet das Cursor-Objekt, um die Version der verbundenen MySQL-Datenbank abzurufen.

Denken Sie daran, die Datenbankdetails mit Ihren eigenen auszutauschen.

Verbinden Sie sich mit MySQL mit mysql-connector-python

mysql-connector-python ist der offizielle Verbindungstreiber, der von Oracle unterstützt wird. Es ist auch in reinem Python geschrieben.

Installieren Sie es über Pip, um es zu verwenden.

Pip Installieren mysql-connector-python

Stellen Sie mit dem folgenden Verbindungscode eine Verbindung zu MySQL her.

importieren mysql.connector
aus mysql.connector importierenFehler

connection = mysql.connector.connect (host="lokaler Host",
Benutzer="<mysql_user>",
Passwort="<mysql_passwort>",
db="<Name der Datenbank>")

Versuchen:
wennVerbindung.Ist verbunden():
Cursor = Verbindung. Cursor ()
cursor.execute("auswählenDatenbank();")
db = cursor.fetchone()
drucken("Du'erneut mit der Datenbank verbunden: ", dB)
außer Fehlerwie e:
drucken("Fehlerwährend Verbindung zu MySQL", e)
endlich:
wennVerbindung.Ist verbunden():
Mauszeiger.nah dran()
Verbindung.nah dran()
print("MySQL-Verbindung ist abgeschlossen")

Der obige Verbindungscode macht dasselbe wie der mysqclient-Verbindungscode.

Nachdem Sie das Verbindungsobjekt erstellt haben, können Sie einen Cursor erstellen, mit dem Sie dann Abfragen in der Datenbank ausführen können.

Dieses Verbindungsprogramm verwendet auch die versuchen... fangen Block. Die Error-Klasse, von mysql.connector, können Sie Ausnahmen abfangen, die beim Herstellen einer Verbindung mit der Datenbank ausgelöst werden. Dies sollte das Debuggen und die Fehlerbehebung vereinfachen.

Verbinden Sie sich mit MySQL mit PyMySQL

Das PyMySQL Verbindungstreiber ist ein Ersatz für MySQLdb. Um es zu verwenden, müssen Sie Python 3.7 oder neuer ausführen und Ihr MySQL-Server sollte Version 5 sein. 7 oder neuer. Wenn Sie MariaDB verwenden, sollte es Version 10.2 oder höher sein. Diese Anforderungen finden Sie auf der PyMySQL-Github-Seite.

Führen Sie den folgenden Befehl aus, um PyMySQL zu installieren.

Pip Installieren PyMySQL

Verbinden Sie sich mithilfe von PyMySQL mit diesem Code mit MySQL.

importieren pymysql

connection = pymysql.connect (host="lokaler Host",
Benutzer="<mysql_user>",
Passwort="<mysql_passwort>",
Datenbank="<Name der Datenbank>")

Versuchen:
Cursor = Verbindung. Cursor ()
cursor.execute("auswählenDatenbank();")
db = cursor.fetchone()
drucken("Du'erneut mit der Datenbank verbunden: ", dB)
außer pymysql. Fehler wie e:
drucken("Fehlerwährend Verbindung zu MySQL", e)
endlich:
Mauszeiger.nah dran()
Verbindung.nah dran()
print("MySQL-Verbindung ist abgeschlossen")

Sobald Sie die Verbindung hergestellt und das Cursorobjekt erstellt haben, können Sie mit der Herstellung beginnen SQL-Abfragen.

Verbinden Sie sich mit MySQL mit aiomysql

Das aiomysql Verbindungstreiber ist wie die asynchrone Version von PyMySQL. Es bietet Zugriff auf eine MySQL-Datenbank aus dem Asyncio-Framework.

Um aiomysql verwenden zu können, müssen Sie Python 3.7+ und PyMySQL in Ihrer Entwicklungsumgebung installiert haben.

Führen Sie den folgenden Befehl aus, um asyncio und aiomysql zu installieren.

Pip Installieren asyncio
Pip Installieren aiomysql

Mit aiomysql können Sie Python über ein einfaches Verbindungsobjekt und einen Verbindungspool mit MySQL verbinden.

Hier ist ein Beispiel, das zeigt, wie Sie mit einem Verbindungsobjekt eine Verbindung zur MySQL-Datenbank herstellen.

importieren asyncio
importieren aiomysql
loop = asyncio.get_event_loop()

asynchrondefpython_mysql():
connection = warte auf aiomysql.connect (host="lokaler Host",
Benutzer="<mysql_user>",
Passwort="<mysql_passwort>",
Datenbank="<Name der Datenbank>")

kur = erwarten Verbindung.cursor()
warte auf cur.execute("auswählenDatenbank();")
db = erwarten cur.fetchone()
drucken("Du'erneut mit der Datenbank verbunden: ", dB)
erwarten cur.close()
Verbindung.nah dran()

Schleife.run_bis_complete(python_mysql())

Im Gegensatz zu einem Datenbankverbindungsobjekt ermöglicht Ihnen ein Verbindungspool die Wiederverwendung von Datenbankverbindungen. Dies geschieht, indem es einen Pool offener Verbindungen verwaltet und diese auf Anfrage zuweist. Wenn ein Client eine Verbindung anfordert, wird ihm eine aus dem Pool zugewiesen. Sobald der Client die Verbindung schließt, geht die Verbindung zurück zum Pool.

Der grundlegende Code für die Verbindung über einen Pool lautet wie folgt:

importieren asyncio
importieren aiomysql
loop = asyncio.get_event_loop()
asynchrondefpython_mysql():
pool = warte auf aiomysql.create_pool (host="lokaler Host",
Benutzer="<mysql_user>",
Passwort="<mysql_passwort>",
Datenbank="<Name der Datenbank>", Schleife=Schleife, Autocommit=False)

asynchronmit pool.acquire() wie Verbindung:
Cursor = erwarten Verbindung.cursor()
warte auf cur.execute("auswählenDatenbank();")
db = erwarten cur.fetchone()
drucken("Du'erneut mit der Datenbank verbunden: ", dB)

Schwimmbad.nah dran()
erwarten pool.wait_closed()

Schleife.run_bis_complete(python_mysql())

Dieses Programm sollte die Version von MySQL ausgeben, mit der Sie sich verbunden haben, wenn Sie es ausführen.

Verwalten Ihrer PostgreSQL-Datenbank

Dieser Artikel hat Ihnen verschiedene Möglichkeiten aufgezeigt, wie Sie eine Python-Anwendung mit MySQL verbinden können. Mit jeder dieser Methoden können Sie mit der Datenbank interagieren und Abfragen ausführen.

Sobald Sie mit einer MySQL-Datenbank verbunden sind, können Sie Datenabfragen ausführen und Datenbanktransaktionen durchführen. Sie können eine Python-Anwendung erstellen, sie mit MySQL verbinden und mit dem Speichern von Daten beginnen.