Python Insert Into Table

Infoga tabell

För att fylla en tabell i MySQL, använd "INSERT INTO"-uttrycket.

Exempel

Infoga post i tabellen "customers":

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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.")

Kör instans

Viktigt:Observera uttrycket mydb.commit()Behöver ändras, annars kommer tabellen inte att förändras.

Infoga flera rader

För att infoga flera rader i tabellen, använd executemany() Metod.

executemany() -metoden är den andra parametern som är en lista med tupler som innehåller data att infoga:

Exempel

Med data fyll "customers"-tabellen:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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')
]
mincursor.executemany(sql, val)
mydb.commit()
print(mycursor.rowcount, "was inserted.")

Kör instans

Hämta inskrivna ID

Du kan fråga cursor-objektet för att få id för den nyligen inskrivna raden.

Kommentar:Om mer än en rad infogas, returneras id för den sista inskrivna raden.

Exempel

Infoga en rad och returnera id:

import mysql.connector
mydb = mysql.connector.connect(
  host="localhost",
  user="yourusername",
  passwd="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)

Kör instans