Python MySQL Wstaw do tabeli
Wstaw do tabeli
Aby wypełnić tabelę w MySQL, użyj instrukcji "INSERT INTO".
Przykład
Wstaw rekord w tabeli „klienci”:
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.")
Ważne!: Zwróć uwagę na stwierdzenie:
mydb.commit()
. Dokonanie zmian jest wymagane, w przeciwnym razie w tabeli nie zostaną wprowadzone żadne zmiany.
Wstaw wiele wierszy
Aby wstawić wiele wierszy do tabeli, użyj
executemany()
metody.
Drugim parametrem executemany()
metody jest lista krotek zawierających dane, które chcesz wstawić:
Przykład
Wypełnij tabelę „klienci” danymi:
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.")
Uzyskaj wstawiony identyfikator
Możesz uzyskać identyfikator wiersza, który właśnie wstawiłeś, pytając obiekt kursora.
Uwaga: Jeśli wstawisz więcej niż jeden wiersz, zostanie zwrócony identyfikator ostatniego wstawionego wiersza.
Przykład
Wstaw jeden wiersz i zwróć identyfikator:
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)