Python Insert Into Table

Inserir tabela

Para preencher uma tabela no MySQL, use a instrução "INSERT INTO":

Exemplo

Inserir registro na tabela "customers":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="seuNomeDeUsuario",
  passwd="suaSenha",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO clientes (nome, endereco) VALUES (%s, %s)"
val = ("John", "Highway 21")
mycursor.execute(sql, val)
mydb.commit()
print(mycursor.rowcount, "registro inserido.")

Executar Exemplo

Importante:Atenção à frase mydb.commit()É necessário fazer a alteração, caso contrário, a tabela não terá qualquer mudança.

Inserir várias linhas

Para inserir várias linhas na tabela, use executemany() Método.

O segundo parâmetro do método executemany() é uma lista de tuplas, contendo os dados a serem inseridos:

Exemplo

Preencher a tabela "customers" com dados:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="seuNomeDeUsuario",
  passwd="suaSenha",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO clientes (nome, endereco) 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, "foi inserido.")

Executar Exemplo

Obter ID já inserido

Você pode perguntar ao objeto cursor para obter o id da linha recém-inserida.

Notas:Se inserir mais de uma linha, retornará o id da última linha inserida.

Exemplo

Inserir uma linha e retornar id:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="seuNomeDeUsuario",
  passwd="suaSenha",
  database="mydatabase"
)
mycursor = mydb.cursor()
sql = "INSERT INTO clientes (nome, endereco) VALUES (%s, %s)"
val = ("Michelle", "Blue Village")
mycursor.execute(sql, val)
mydb.commit()
print("1 registro inserido, ID:", mycursor.lastrowid)

Executar Exemplo