Python MySQL in Tabelle einfügen
In Tabelle einfügen
Um eine Tabelle in MySQL zu füllen, verwenden Sie die Anweisung "INSERT INTO".
Beispiel
Fügen Sie einen Datensatz in die Tabelle "Kunden" ein:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql,
val)
mydb.commit()
print(mycursor.rowcount, "record inserted.")
Wichtig!: Beachten Sie die Anweisung:
mydb.commit()
. Es ist erforderlich, die Änderungen vorzunehmen, ansonsten werden keine Änderungen an der Tabelle vorgenommen.
Mehrere Zeilen einfügen
Um mehrere Zeilen in eine Tabelle einzufügen, verwenden Sie die
executemany()
Methode.
Der zweite Parameter der executemany()
Methode ist eine Liste von Tupeln, die die Daten enthalten, die Sie einfügen möchten:
Beispiel
Füllen Sie die Tabelle „Kunden“ mit Daten:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
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')
]
mycursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was inserted.")
Holen Sie sich die eingefügte ID
Sie können die ID der Zeile, die Sie gerade eingefügt haben, erhalten, indem Sie das Cursorobjekt fragen.
Hinweis: Wenn Sie mehr als eine Zeile einfügen, wird die ID der zuletzt eingefügten Zeile zurückgegeben.
Beispiel
Fügen Sie eine Zeile ein und geben Sie die ID zurück:
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO customers (name,
address) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1 record
inserted, ID:", mycursor.lastrowid)