¿Cómo uso una instrucción preparada para insertar registros MÚLTIPLES en SQlite usando Python/Django?¿Cómo uso las declaraciones preparadas para insertar registros MÚLTIPLES en SQlite usando Python/Django?
Respuesta
http://docs.python.org/library/sqlite3.html#cursor-objects
bibliotecas de Python SQLite no han preparado los objetos Statement, pero sí permitirá utilizar consultas con parámetros, y para proporcionar más de un conjunto de parámetros.
Editar: Un ejemplo de executemany
como solicitada:
values_to_insert = [(1,"foo"), (2, "bar"), (3, "baz")]
cursor.executemany("""
INSERT INTO some_table ('item_num', 'item_name')
VALUES (?, ?)""", values_to_insert)
Puede utilizar executemany() y pasar un objeto iterador, por ejemplo para insertar 100 enteros y sus cuadrados:
def my_iter(x):
for i in range(x):
yield i, i*i
cursor.executemany("INSERT INTO my_table VALUES (?, ?)", my_iter(100))
Si está intentando insertar una sola fila como con un PreparedStatement,
cursor.execute("""INSERT INTO table_name ('column1', 'column2') VALUES (?, ?)""", ("value1", "value2"))
debería funcionar también. Los valores se pasan como tuplas de pitón.
El OP preguntó sobre la inserción de múltiples registros/filas, no una sola fila, por lo que no veo cómo esto responde la pregunta. – Moot
- 1. declaraciones preparadas sqlite - cómo depurar
- 2. ¿Cómo uso declaraciones preparadas en SQlite en Android?
- 3. En SQLite, ¿las declaraciones preparadas realmente mejoran el rendimiento?
- 4. ¿Cómo funcionan las declaraciones preparadas?
- 5. Uso de declaraciones preparadas con JDBCTemplate
- 6. ¿Cómo debo insertar múltiples registros múltiples?
- 7. ¿Cómo insertar múltiples filas en una base de datos mysql a la vez con declaraciones preparadas?
- 8. Declaraciones preparadas en VB.NET
- 9. mysql declaraciones preparadas permanentemente
- 10. Recursividad en declaraciones preparadas
- 11. Nombres de columnas variables usando declaraciones preparadas
- 12. Consultas con declaraciones preparadas en Android?
- 13. Spring NamedParameterJDBCTemplate reutilización de las declaraciones preparadas
- 14. Cierre de declaraciones preparadas
- 15. ¿Las declaraciones preparadas ralentizan notablemente el programa?
- 16. ¿Cómo se utiliza en las cláusulas con mysqli declaraciones preparadas
- 17. PHP- insertando datos binarios en mysql usando declaraciones preparadas
- 18. ¿Hay inconvenientes en el uso de declaraciones preparadas?
- 19. ¿Cuándo * no * usar declaraciones preparadas?
- 20. Declaraciones preparadas de PHP PDO
- 21. Python/sqlite - seleccionando registros después de insertar
- 22. Declaraciones preparadas MySQLi error reporting
- 23. ¿Inyecciones SQL con declaraciones preparadas?
- 24. Para usar declaraciones preparadas por PHP para Postgres
- 25. Declaraciones preparadas y controladores JDBC
- 26. Poniendo tiempos de espera en las declaraciones preparadas
- 27. Cómo acelerar el proceso al insertar miles de registros en sqlite usando HTML5
- 28. C# Las declaraciones preparadas - símbolo @ (en/signo strudel) busca
- 29. ¿Debería estar realmente usando PDO y declaraciones preparadas?
- 30. En PHP, ¿cómo protege PDO de las inyecciones de SQL? ¿Cómo funcionan las declaraciones preparadas?
@Amber: gracias por su respuesta. Me había perdido un punto importante, es decir, era la inserción de registros MÚLTIPLES .. "execute()" permite que solo se ejecute una consulta ... por lo que no funcionará para mí :) –
@mahendraliya por lo que '.executemany()' existe: http://docs.python.org/library/sqlite3.html#sqlite3.Cursor.executemany – Amber
@Amber: pasé por executemany() pero lamento decir que soy bastante nuevo en python y sqlite. Mi duda es como si tuviera, digamos una lista de nombres de archivos que preparé agregando valores dentro de un objeto de lista, entonces ¿cómo puedo usarlo con executeMany ... es como simplemente pasar el objeto list (decir fileList) a executemany ()? ... Cualquier fragmento de código sería muy apreciado ... gracias. –