Estoy usando SQlAlchemy. Quiero eliminar todos los registros presentes de forma eficiente en la base de datos, pero no quiero eliminar la tabla/base de datos.Cómo limpiar la base de datos, descartando todos los registros usando sqlalchemy?
He intentado con el siguiente código.
con = engine.connect()
trans = con.begin()
con.execute(table.delete())
trans.commit()
Parece que no es muy eficiente ya que estoy iterando sobre toda la tabla presente en la base de datos. ¿Puede alguien sugerirme la forma mejor y más eficiente de hacer esto?
Cualquier tipo de ayuda muy apreciada aquí.
Para algunas bases de datos 'truncar' comunicado. Recrea la tabla y funciona más rápido y no transaccional. Puede ejecutarlo con SQL sin procesar con engine.execute ('' 'truncate tablename' '') – varela
@Varela Gracias por compartir sus pensamientos Quiero escribir el método/función de tal manera que funcione en todas las bases de datos. Dado que 'truncado' depende de DB, no sería mi primera opción. – Rakesh
Entonces no hay nada mejor, no puede omitir iterar a través de tablas y eliminar probablemente la única declaración que funciona para todos los DB. – varela