[Python-es] Como saber el tipo de columna en una base de datos SQLITE

José Manuel Calvar González jmcalvar en gmail.com
Jue Feb 4 15:46:19 CET 2010


Quizás me equivoco, pero si entras en la consola de sqlite3 y ejecutas
.schema te da la estructura de creación de las tablas, etc, etc...

2010/2/4 Chema Cortes <pych3m4 en gmail.com>:
> El día 4 de febrero de 2010 13:36, Ricardo Cárdenes Medina
> <ricardo.cardenes en gmail.com> escribió:
>
>>> Utilizo la libreria "sqlite3" para manejar una base de datos. La cosa es que quiero importar datos desde otra base y necesito saber que tipo de datos es cada columna.
>>>
>>> Solo llego a saber el nombre de cada columna, pero del tipo (INTEGER, TEXT, etc) nada.
>>>
>>
>> De la documentación de SQLite:
>>
>>  "SQLite uses a more general dynamic type system. In SQLite, the
>> datatype of a value is associated with the value itself, not with its
>> container"
>>
>> así que probablemente no tiene mucho sentido preguntar por el tipo de
>> una columna.
>
> En sqlite se habla más de "afinidades" que de tipos de datos.
>
> Aún así, Ramiro debería habernos dado más pistas sobre cómo hace para
> obtener los nombres de los campos, porque tenía que estar muy cerca.
>
> Hay dos caminos para obtener los tipos de cada columna:
>
> 1) pragma table_info(tabname), propio de sqlite
> 2) cursor.description, al estilo pythónico de las db-api2
>
>
>
> Si no se entiende lo de las "afinidades", una prueba sencilla es
> intentar metar un "decimal" en sqlite sin que pierda precisión.
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
Las Gasolineras me dan miedo: Sin Plomo 95, Sin Plomo 98… Como saquen
Sin Plomo XP me compro una bici.

-----------------------------------------------
José Manuel González Calvar

http://saigonelgato.blogspot.com
http://www.killmenos9.com
------------------------------------------------



Más información sobre la lista de distribución Python-es