Python Insert Into Table

Вставка таблицы

Чтобы заполнить таблицу в MySQL, используйте оператор "INSERT INTO":

Пример

Вставка записи в таблицу "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, "запись вставлена.")

Запуск примера

Важно:Обратите внимание на предложение mydb.commit()Необходимо изменить, в противном случае таблица не изменится.

Вставка нескольких строк

Чтобы вставить несколько строк в таблицу, используйте executemany() Метод.

Второй параметр метода executemany() - это список кортежей, содержащий данные для вставки:

Пример

С помощью данных заполняем таблицу "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 = [
  ('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.")

Запуск примера

Получение вставленного ID

Вы можете получить id только что вставленной строки, задав вопрос объекту cursor.

Комментарий:Если вставлено более одной строки, то возвращается id последней вставленной строки.

Пример

Вставка одной строки и возврат 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)

Запуск примера