ventajas que sqlite sqlite3

ventajas - que es sqlite android



¿Cuál es la diferencia entre los tipos de datos enteros de SQLite como int, integer, bigint, etc.? (1)

De la documentación de SQLite3:

http://www.sqlite.org/datatype3.html

La mayoría de los motores de base de datos SQL (cada motor de base de datos SQL que no sea SQLite, por lo que sabemos) usa tipeo estático y rígido. Con el tipado estático, el tipo de datos de un valor viene determinado por su contenedor: la columna particular en la que se almacena el valor.

SQLite usa un sistema de tipo dinámico más general. En SQLite, el tipo de datos de un valor está asociado con el valor en sí mismo, no con su contenedor. El sistema de tipo dinámico de SQLite es retrocompatible con los sistemas de tipo estático más comunes de otros motores de base de datos en el sentido de que la instrucción SQL que funciona en bases de datos tipadas estáticamente debe funcionar de la misma manera en SQLite. Sin embargo, el tipado dinámico en SQLite le permite hacer cosas que no son posibles en las bases de datos tradicionalmente rígidas.

Entonces, en MS Sql Server (por ejemplo), un "int" == "integer" == 4 bytes / 32 bits.

Por el contrario, un "entero" de SqlLite puede contener todo lo que pongas en él: desde un carácter de 1 byte hasta un largo de 8 bytes.

El enlace de arriba enumera todos los tipos y brinda más detalles sobre la "afinidad" de Sqlite.

La interfaz C / C ++ a la que se refiere debe funcionar con lenguajes fuertemente tipados.

Entonces, hay dos API: sqlite3_column_int (), máximo de 4 bytes; y sqlite3_column_int64 ()

http://www.sqlite.org/capi3ref.html#sqlite3_int64

¿Cuál es la diferencia entre los tipos de datos enteros en sqlite?

EN T
ENTERO
TINYINT
SMALLINT
MEDIUMINT
BIGINT
SIN MARCA GRANDE INT
INT2
INT8

¿Cuál puede almacenar enteros de 32 bits y cuál puede almacenar valores de 64 bits? ¿Hay soporte para 128 bits?

Encuentro que el tamaño de los datos enteros es un poco confuso por ahora, INTEGER, por ejemplo, puede almacenar enteros con signo de hasta 64 bits, pero los valores pueden ocupar solo 32 bits en el disco.

Llamar a sqlite3_column_int en una columna INTEGER solo funcionará si el valor almacenado es menor que el valor int32 max, ¿cómo se comportará si es superior?