You are currently viewing Python MySQL – Вставка в таблицу

Python MySQL – Вставка в таблицу

MySQL — это система управления реляционными базами данных (СУБД), в то время как язык структурированных запросов (SQL) — это язык, используемый для обработки СУБД с использованием команд, т. е. Создания, вставки, обновления и удаления данных из баз данных. Команды SQL не учитывают регистр, т. е. CREATE и create означают одну и ту же команду.

Примечание: Прежде чем мы вставим данные в нашу базу данных, нам необходимо создать таблицу. Для этого обратитесь к Python: MySQL Создать таблицу.

Вставка данных

Вы можете вставить одну строку или несколько строк одновременно. Код соединителя необходим для подключения команд к конкретной базе данных.

Запрос соединителя

# Enter the server name in host
# followed by your user and
# password along with the database
# name provided by you.

import mysql.connector


mydb = mysql.connector.connect(
host = "localhost",
user = "username",
password = "password",
database = "database_name"
)

mycursor = mydb.cursor()

Теперь Вставка в запрос может быть записана следующим образом:

Пример: 

Предположим, что запись выглядит следующим образом

sql = "INSERT INTO Student (Name, Roll_no) VALUES (%s, %s)"
val = ("Ram", "85")

mycursor.execute(sql, val)
mydb.commit()

print(mycursor.rowcount, "details inserted")

# disconnecting from server
mydb.close()

Выход:

1 details inserted

Чтобы вставить несколько значений одновременно, executemany() используется метод. Этот метод выполняет итерацию последовательности параметров, передавая текущий параметр методу выполнения.

Пример:

sql = "INSERT INTO Student (Name, Roll_no) VALUES (%s, %s)"
val = [("Akash", "98"),
	("Neel", "23"),
	("Rohan", "43"),
	("Amit", "87"),
	("Anil", "45"),
	("Megha", "55"),
	("Sita", "95")]

mycursor.executemany(sql, val)
mydb.commit()

print(mycursor.rowcount, "details inserted")

# disconnecting from server
mydb.close()

Выход:

7 details inserted

Примечание:

  • То cursor() используется для перебора строк.
  • Без команды mydb.commit() изменения не будут сохранены.