Mysql
 sql >> база данни >  >> RDS >> Mysql

С помощта на Python бързо вмъкнете много колони в Sqlite\Mysql

Под „Newdata е списък от x колони“, предполагам, че имате предвид x кортелки , оттогава продължавате да говорите за "първия кортеж". Ако Newdata е списък с кортежи, y = len(Newdata[0]) е броят на елементите в първия от тези кортежи.

Ако приемем, че това е числото, което искате (и всички кортежи е по-добре да имат същия брой елементи, в противен случай executemany ще неуспешно!), общата идея в отговора на @Nathan е правилна:изградете низа с подходящия брой въпроси, разделени със запетая:

holders = ','.join('?' * y)

след това го вмъкнете в останалата част от SQL израза. Начинът на @Nathan за вмъкване е правилен за повечето Python 2.всякакви версии, но ако имате 2.6 или по-добра,

sql = 'INSERT INTO testdata VALUES({0})'.format(holders)

в момента се предпочита (работи и в Python 3.any).

И накрая,

csr.executemany(sql, Newdata)

ще направи това, което желаете. Не забравяйте да извършите транзакцията, след като приключите!-)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да вмъкна няколко стойности в квадратчетата за отметка в таблица?

  2. Свързване към MySQL сървър с помощта на C++

  3. Не може да се стартира сървър в релсите с mysql db

  4. Клауза за MySQL UNION

  5. Отчет за посещаемостта в MySql