Zum Inhalt springen

MySQL INSERT

Dieser Artikel behandelt MySQL-Einfügungen in Python, von grundlegenden Operationen bis zu Best Practices. Am Ende verfügen Sie über ein umfassendes Verständnis darüber, wie Sie Python verwenden, um Daten in eine MySQL-Datenbank einzufügen.

Einführung

Python und MySQL sind zwei der beliebtesten Tools in der Tech-Branche. Python ist eine hochrangige Programmiersprache, die leicht zu erlernen ist und über eine umfangreiche Bibliothek an Modulen verfügt. MySQL ist ein weit verbreitetes relationales Datenbankmanagementsystem, das zum Speichern und Verwalten von Daten verwendet wird.

Das Einfügen von Daten in eine MySQL-Datenbank mit Python ist eine grundlegende Aufgabe. Dieser Leitfaden behandelt die Schritte zum Einfügen von Daten sowie Best Practices, um sicherzustellen, dass Ihr Code effizient und skalierbar ist.

Vorbereitung

Bevor wir uns dem Code zuwenden, müssen wir sicherstellen, dass die erforderlichen Tools installiert sind. Wir benötigen die folgenden Pakete:

  • Python
  • MySQL Connector/Python

Nachdem Sie diese Pakete installiert haben, können wir zum nächsten Schritt übergehen, bei dem eine Verbindung zur MySQL-Datenbank hergestellt wird.

Herstellen einer Verbindung zur MySQL-Datenbank

Um Daten mit Python in eine MySQL-Datenbank einzufügen, müssen wir zunächst eine Verbindung zur Datenbank herstellen. Dies können wir mithilfe des Moduls MySQL Connector/Python tun.

Um eine Verbindung herzustellen, müssen wir die folgenden Informationen angeben:

  • Hostname
  • Benutzername
  • Passwort
  • Datenbankname

Sobald eine Verbindung hergestellt ist, können wir ein Cursor-Objekt erstellen, um SQL-Anweisungen auszuführen.

Verbinden mit einer MySQL-Datenbank unter Verwendung von Python

python
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  password="yourpassword",
  database="mydatabase"
)

mycursor = mydb.cursor()

Einfügen von Daten

Da wir nun eine Verbindung hergestellt haben, können wir Daten einfügen. Es gibt zwei Hauptmethoden:

  1. Einfügen einer einzelnen Zeile
  2. Einfügen mehrerer Zeilen

Hinweis: Stellen Sie sicher, dass Ihre Tabelle customers mit den Spalten name und address vorhanden ist, bevor Sie die folgenden Beispiele ausführen.

Einfügen einer einzelnen Zeile

Um eine einzelne Zeile in eine MySQL-Datenbank einzufügen, können wir die Anweisung INSERT INTO verwenden.

Einfügen einer einzelnen Zeile in eine MySQL-Datenbank in Python

python
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = ("John", "Highway 21")

try:
  mycursor.execute(sql, val)
  mydb.commit()
  print(mycursor.rowcount, "record inserted.")
  print("Last inserted ID:", mycursor.lastrowid)
except mysql.connector.Error as err:
  print(f"Error: {err}")
  mydb.rollback()
finally:
  mycursor.close()
  mydb.close()

Hinweis: Die %s-Platzhalter-Syntax ist spezifisch für den Treiber mysql-connector-python. Verwenden Sie mycursor.lastrowid, um die automatisch inkrementierte ID der neu eingefügten Zeile abzurufen.

Einfügen mehrerer Zeilen

Um mehrere Zeilen in eine MySQL-Datenbank einzufügen, können wir die Methode executemany() verwenden.

Einfügen mehrerer Zeilen in eine MySQL-Datenbank mit Python

python
sql = "INSERT INTO customers (name, address) VALUES (%s, %s)"
val = [
  ('Peter', 'Lowstreet 4'),
  ('Amy', 'Apple st 652'),
  ('Hannah', 'Mountain 21'),
  ('Michael', 'Valley 345'),
  ('Sandy', 'Ocean blvd 2'),
  ('Betty', 'Green Grass 1'),
  ('Richard', 'Sky st 331'),
  ('Susan', 'One way 98'),
  ('Vicky', 'Yellow Garden 2'),
  ('Ben', 'Park Lane 38'),
  ('William', 'Central st 954'),
  ('Chuck', 'Main Road 989'),
  ('Viola', 'Sideway 1633')
]

try:
  mycursor.executemany(sql, val)
  mydb.commit()
  print(mycursor.rowcount, "records inserted.")
except mysql.connector.Error as err:
  print(f"Error: {err}")
  mydb.rollback()
finally:
  mycursor.close()
  mydb.close()

Fazit

Dieser Leitfaden hat die Grundlagen zum Einfügen von Daten in eine MySQL-Datenbank mit Python behandelt, einschließlich der Verbindungseinrichtung, des Einfügens einzelner Zeilen und des Masseneinfügens mit executemany(). Durch die Anwendung dieser Techniken können Sie Daten effizient speichern und verwalten. Vielen Dank für das Lesen. Wenn Sie Fragen oder Feedback haben, hinterlassen Sie gerne einen Kommentar unten.

Finden Sie das nützlich?

Dual-run-Vorschau — vergleichen Sie mit den Symfony-Routen live.