Python MySQL Inserir na Tabela
Inserir na tabela
Para preencher uma tabela no MySQL, use a instrução "INSERT INTO".
Exemplo
Insira um registro na tabela "clientes":
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!: Observe a declaração:
mydb.commit()
. É necessário fazer as alterações, caso contrário, nenhuma alteração será feita na tabela.
Inserir várias linhas
Para inserir várias linhas em uma tabela, use o
executemany()
método.
O segundo parâmetro do executemany()
método é uma lista de tuplas, contendo os dados que você deseja inserir:
Exemplo
Preencha a tabela "clientes" com os dados:
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.")
Obter ID inserido
Você pode obter o id da linha que acabou de inserir perguntando ao objeto cursor.
Nota: Se você inserir mais de uma linha, o id da última linha inserida será retornado.
Exemplo
Insira uma linha e retorne o 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)