Python MySQL da inserire nella tabella
Inserisci nella tabella
Per riempire una tabella in MySQL, usa l'istruzione "INSERT INTO".
Esempio
Inserisci un record nella tabella "clienti":
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.")
Importante!: Notare la dichiarazione:
mydb.commit()
. È necessario apportare le modifiche, altrimenti non vengono apportate modifiche alla tabella.
Inserisci più righe
Per inserire più righe in una tabella, utilizzare il
executemany()
metodo.
Il secondo parametro del executemany()
metodo è una lista di tuple, contenente i dati che vuoi inserire:
Esempio
Riempi la tabella "clienti" con i dati:
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.")
Ottieni ID inserito
Puoi ottenere l'id della riga che hai appena inserito chiedendo all'oggetto cursore.
Nota: se inserisci più di una riga, viene restituito l'id dell'ultima riga inserita.
Esempio
Inserisci una riga e restituisci l'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)