Python MySQL invoegen in tabel
Invoegen in tabel
Gebruik de instructie "INSERT INTO" om een tabel in MySQL te vullen.
Voorbeeld
Voeg een record toe aan de tabel "klanten":
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.")
Belangrijk!: Let op de verklaring:
mydb.commit()
. Het is vereist om de wijzigingen aan te brengen, anders worden er geen wijzigingen in de tabel aangebracht.
Meerdere rijen invoegen
Gebruik de
executemany()
methode om meerdere rijen in een tabel in te voegen.
De tweede parameter van de executemany()
methode is een lijst met tupels, die de gegevens bevat die u wilt invoegen:
Voorbeeld
Vul de tabel "klanten" met gegevens:
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.")
Ingevoegde ID ophalen
U kunt de id van de rij die u zojuist hebt ingevoegd, krijgen door het cursorobject te vragen.
Opmerking: als u meer dan één rij invoegt, wordt de id van de laatst ingevoegde rij geretourneerd.
Voorbeeld
Voeg één rij in en retourneer de ID:
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)