Vložit do tabulky Python MySQL
Vložit do tabulky
Chcete-li vyplnit tabulku v MySQL, použijte příkaz "INSERT INTO".
Příklad
Vložte záznam do tabulky "zákazníci":
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.")
Důležité!: Všimněte si prohlášení:
mydb.commit()
. Je nutné provést změny, jinak se v tabulce neprovedou žádné změny.
Vložit více řádků
Chcete-li do tabulky vložit více řádků, použijte
executemany()
metodu.
Druhým parametrem executemany()
metody je seznam n-tic obsahujících data, která chcete vložit:
Příklad
Vyplňte tabulku "zákazníci" údaji:
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.")
Získejte vložené ID
ID řádku, který jste právě vložili, můžete získat dotazem na objekt kurzoru.
Poznámka: Pokud vložíte více než jeden řádek, vrátí se id posledního vloženého řádku.
Příklad
Vložte jeden řádek a vraťte 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)