Как передать python списки в виде column_name и значений в MySQL оператор вставки - PullRequest
0 голосов
/ 24 января 2020

У меня есть 2 списка ... Вот код

field_name = ['Name', 'Age', 'Gender']
field_value = [('sathish','Twenty', 'Male'),('sam','Twenty_three', 'Male'), 
('suba','Twenty_one', 'FeMale')]

У меня уже есть таблица 'test' в моей базе данных, в которой есть больше field_names Мне нужно передать column_name и значения динамически

моя цель - создать оператор вставки, например

вставка в тест (* field_name) значений (* field_value)

Предположим, я не знаю значений списка, т. е. имя, возраст, пол

Как можно создать оператор вставки для приведенного выше списка для вставки значений в таблицу

заранее спасибо

'qry = "insert into test_ex" + field_name + "values".format(%s)'
'crsr.execute(qry, field_Value)'

1 Ответ

0 голосов
/ 24 января 2020

Вы можете использовать cursor.executemany() для вставки нескольких строк, которые принимают query и list of tuples в качестве аргументов. Таким образом, вы можете сгенерировать запрос SQL и добавить к executemany, как показано ниже:

cursor.executemany('INSERT INTO test (' + ', '.join(field_name) + ') VALUES (' + ', '.join(['%s' for i in range(len(field_name))]) + ')', field_value)

Итак, для вашего приведенного выше примера это станет cursor.executemany('INSERT INTO test (Name, Age, Gender) VALUES (%s, %s, %s)', field_value).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...