¿Cómo puedo verificar si el archivo de la base de datos ya existe o no? Y, si existe, ¿cómo puedo verificar si ya tiene una tabla específica o no?sqlite3 en Python
Respuesta
Para ver si existe una base de datos, puede sqlite3.connect
al archivo que cree que contiene la base de datos, e intente ejecutar una consulta en él. Si no es una base de datos, se obtiene este error:
>>> c.execute("SELECT * FROM tbl")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
sqlite3.DatabaseError: file is encrypted or is not a database
sqlite3.connect
será crear la base de datos si no existe; como @johnp señala en los comentarios, os.path.exists
le dirá si el archivo existe.
Para verificar las tablas existentes, usted query against sqlite_master. Por ejemplo:
>>> def foo(name):
... for row in c.execute("SELECT name FROM sqlite_master WHERE type='table'"):
... if row == (name,):
... return True
... return False
...
>>> foo("tz_data")
True
>>> foo("asdf")
False
hmm ... ¿la llamada a sqlite3.connect() crea automáticamente la base de datos? – john2x
@ john2x - sí, lo hace. –
Si desea ver si el archivo existe, os.path.exists uso(): importación os.path os.path.exists ('dbname.db') realizar esta comprobación antes de sqlite3.connect () para evitar crear la base de datos si no existe. –
- 1. versión Python sqlite3
- 2. drop table en python con sqlite3
- 3. Python y sqlite3 - agregando miles de filas
- 4. ¿Cómo agregar columnas a sqlite3 python?
- 5. Uso de puntos de guardado en python sqlite3
- 6. ¿Cómo puedo registrar consultas en Sqlite3 con Python?
- 7. ¿Cómo puedo actualizar el paquete sqlite3 en Python 2.6?
- 8. ¿Cómo puedo importar el módulo sqlite3 en Python 2.4?
- 9. Python, Sqlite3 - Cómo convertir una lista en una celda BLOB
- 10. Fuerza Python renunciar sqlite3 nativo y usar la versión más reciente sqlite3 (instalado)
- 11. Tabla cruzada en Sqlite3
- 12. sqlite3-ruby gem no puede encontrar sqlite3.h en ubuntu
- 13. importa sqlite3 con Python2.7 en Heroku
- 14. sqlite3 y cursor.description
- 15. SQLite3 :: BusyException
- 16. Python 3.2: no se puede importar el módulo del sqlite3
- 17. ¿sqlite3 comprime los datos?
- 18. ¿Por qué no pude construir sqlite3 cuando construyo Python?
- 19. Python y sqlite3 - importar y exportar bases de datos
- 20. ¿Cómo migrar un archivo CSV a Sqlite3 (o MySQL)? - Python
- 21. cambiar un valor en SQLite3
- 22. Tipificación dinámica de SQLite3
- 23. sqlite3 permission denied android
- 24. sqlite3.dll y system.data.sqlite.dll
- 25. SQLite3 y procesos múltiples
- 26. npm install sqlite3 error
- 27. Agregar índice único. SQLite3
- 28. PHP con soporte sqlite3
- 29. rvm conflit con sqlite3
- 30. sqlite3 problemas de vinculación
Ver http://stackoverflow.com/questions/211501/using-sqlite-in-a-python-program, http://stackoverflow.com/questions/1449495/can-i- test-for-the-existence-of-a-table-in-a-sqlite-database –