SQLite Tipos de datos con ejemplo: Int, Texto, Numérico, Real, Blob

tipos de datos en SQLite son diferentes en comparación con otros sistemas de gestión de bases de datos. En SQLite, puedes declarar tipos de datos normalmente, pero aún puedes almacenar cualquier valor en cualquier tipo de datos.

SQLite se escribe menos. No hay tipos de datos, puede almacenar cualquier tipo de datos que desee en cualquier columna. Esto se llama tipos dinámicos.

En los tipos estáticos, como en otros sistemas de administración de bases de datos, si declaró una columna con un tipo de datos entero, solo puede insertar valores de tipo de datos entero. Sin embargo, en tipos dinámicos como en SQLite, el tipo de columna está determinado por el valor insertado. Y luego SQLite almacena ese valor dependiendo de su tipo.

SQLite Clases de almacenamiento

In SQLite Existen diferentes métodos de almacenamiento según el tipo de valor. Estos diferentes métodos de almacenamiento se denominan clases de almacenamiento en SQLite.

Las siguientes son las clases de almacenamiento disponibles en SQLite:

  • NULL – esta clase de almacenamiento se utiliza para almacenar cualquier valor NULL.
  • INTEGER – cualquier valor numérico se almacena como un valor entero con signo (puede contener valores enteros tanto positivos como negativos). Los valores ENTEROS en SQLite se almacenan en 1, 2, 3, 4, 6 u 8 bytes de almacenamiento dependiendo del valor del número.
  • REAL – esta clase de almacenamiento se utiliza para almacenar los valores de punto flotante y se almacenan en un almacenamiento de 8 bytes.
  • TEXTO – almacena cadenas de texto. También admite diferentes codificaciones como UTF-8, UTF-16 BE o UTF-26LE.
  • BLOB – se utiliza para almacenar archivos grandes, como imágenes o archivos de texto. El valor se almacena como una matriz de bytes igual que el valor de entrada.

SQLite Tipo de afinidad

La afinidad de tipos es el tipo recomendado de datos almacenados en una columna. Sin embargo, aún puede almacenar cualquier tipo de datos que desee; se recomienda que estos tipos no sean obligatorios.

Estos tipos fueron introducidos en SQLite para maximizar la compatibilidad entre SQLite así como de otros sistema de administración de base de datos.

Cualquier columna declarada en un SQLite A la base de datos se le asigna una afinidad de tipo dependiendo del tipo de datos declarado. Aquí el aumento de las afinidades tipográficas en SQLite:

  • TEXTO.
  • NUMÉRICO.
  • ENTERO.
  • VERDADERO.
  • GOTA.

Así es cómo SQLite determina la afinidad de la columna a partir de su tipo de datos declarado:

  1. La afinidad INTEGER se asigna si el tipo declarado contiene el cadena "INT".
  2. Se asigna afinidad de TEXTO si la columna contiene en su tipo de datos una de las siguientes cadenas “TEXTO","CHARo "CLOB“. Por ejemplo, al tipo VARCHAR se le asignará la afinidad de TEXTO.
  3. La afinidad BLOB se asigna si la columna no tiene ningún tipo especificado o si el tipo de datos es un BLOB.
  4. Se asigna afinidad REAL si el tipo contiene una de las siguientes cadenas “DOUB","REALo "FLOAT".
  5. La afinidad NUMÉRICA se asigna para cualquier otro tipo de datos.

También hay una tabla en la misma página que muestra algunos ejemplos de mapeo entre SQLite tipos de datos y sus afinidades determinadas por estas reglas:

SQLite Tipo de afinidad
Mapeo entre SQLite tipos de datos y afinidades

Ejemplos de almacenamiento de tipos de datos en SQLite

Almacenar número con SQLite entero

Cualquier columna de tipo de datos contenga la palabra “INT”, se le asignará una afinidad de tipo INTEGER. Se almacenará en una clase de almacenamiento INTEGER.

Todos los siguientes tipos de datos se asignan como una afinidad de tipo INTEGER:

  • INT, ENTERO, GRANDE.
  • INT2, INT4, INT8.
  • TINYINT, PEQUEÑO, MEDIANO INT.

Afinidad de tipo INTEGER en SQLite puede contener cualquier número entero asignado (positivo o negativo) desde 1 byte hasta un máximo de 8 bytes.

Almacenar números con SQLite REAL

Los números REALES son números con precisión de punto flotante doble. SQLite almacena números reales como una matriz de 8 bytes. Aquí está la lista de tipos de datos en SQLite que puedes usar para almacenar números REALES:

  • VERDADERO.
  • DOBLE.
  • DOBLE PRECISIÓN.
  • FLOTAR.

Almacenamiento de datos de gran tamaño con SQLite BLOB

Sólo hay una forma de almacenar archivos grandes en un SQLite base de datos y utiliza el tipo de datos BLOB. Este tipo de datos se utiliza para almacenar archivos grandes como imágenes, archivos (de cualquier tipo), etc. El archivo se convierte en una matriz de bytes y luego se almacena en el mismo tamaño que el archivo de entrada.

Almacenamiento SQLite Booleanos

SQLite no tiene una clase de almacenamiento BOOLEAN separada. Sin embargo, los valores BOOLEANOS se almacenan como ENTEROS con valores 0 (como falso) o 1 (como verdadero).

Almacenamiento SQLite fechas y horas

Puede declarar fecha u hora de fecha en SQLite utilizando uno de los siguientes tipos de datos:

  • FECHA
  • Fecha y hora
  • TIMESTAMP
  • Captura de

Tenga en cuenta que no existe una clase de almacenamiento DATE o DATETIME separada en SQLiteEn cambio, cualquier valor declarado con uno de los tipos de datos anteriores se almacena en una clase de almacenamiento según el formato de fecha del valor insertado, de la siguiente manera:

  • TEXTO – si insertó el valor de fecha en el formato de la cadena ISO8601 (“AAAA-MM-DD HH:MM:SS.SSS”).
  • REAL – si insertó el valor de la fecha en los números de los días julianos, el número de días desde el mediodía en Greenwich el 24 de noviembre de 4714 a.C. Entonces el valor de la fecha se almacenaría como REAL.
  • INTEGER as Unix Hora, el número de segundos desde 1970-01-01 00:00:00 UTC.

Resumen

SQLite admite una amplia gama de tipos de datos. Pero, al mismo tiempo, es muy flexible en cuanto a tipos de datos. Puede poner cualquier tipo de valor en cualquier tipo de datos. SQLite También introdujo algunos conceptos nuevos en tipos de datos como afinidad de tipos y clases de almacenamiento, a diferencia de otros sistemas de administración de bases de datos.