2020-12-19
Tutorial SQLite y PHP
¿Qué es SQLite?
SQLite es una librería escrita en C que implementa un "pequeño, rápido, autónomo, altamente fiable, con todas las funciones de un gestor de bases de datos SQL."
Al ser una librería la podemos encontrar disponible en múltiples entornos de programación: php, Python, etc. Su mayor característica es que su base de datos en sí es solo un fichero, al cual accederemos a través de las funciones de la librería.
Al tratarse de un sistema pequeño y minimalista la podemos encontrar en muchos dispositivos móviles.
También es open source con lo podremos acceder al código fuente y poder ver su estructura.
Cómo conseguir SQLite.
En su página web oficial: SQLite, podemos encontrar todo lo necesario para funcionar con SQLite.
En la página de downloads encontraremos la versión mas reciente, con su código fuente, la librería .dll compilada y varias utilidades como la consola para el manejo de nuestra base de datos.
Tipos de datos en SQLite
Generalmente en las bases de datos SQL se utiliza un tipo fijo para cada columna, es decir, un tipo tiene un tamaño fijo según se haya definido su columna, así si es del tipo DATA, lo que se guarda es una estructura DATE.
En SQLite no es así, cada valor de la columna será almacenado según sea ese valor, por ejemplo, DATE puede ser almacenado como una cadena o como un entero según el valor que le pasemos.
Tipos básicos
- NULL. Es el valor NULL.
- INTEGER. Es un entero con signo, se utilizan de uno a ochos bytes para almacenar el valor, la cantidad de bytes se decide según el tamaño (si vale menos de 127 usará un byte, si vale menos 32000, usará dos byte, etc.)
- REAL. Un valor de coma flotante almacenado con 8 bytes.
- TEXT. El valor es una cadena de texto. Se almacenará según la codificación de la base de datos (utf8, utf16be, utf16le).
- BLOB. Un valor binario, el tamaño, pues justo el que tenga el dato a meter.
Booleanos.
No existe un tipo de datos booleanos, en su lugar se utiliza un entero, que guardan los valores 0 (falso) y 1 (cierto).
Tipos de Fecha y Hora
No existe una clase de almacenamiento para fechas/horas, en su lugar según usemos las funciones de fecha y hora se almacenará un entero, texto o real.
- TEXT: Se guarda una cadena tipo "YYYY-MM-DD HH:MM:SS.SSS".
- REAL: Se guarda un número de días Julianos desde la media noche del 24 de Noviembre del 4714 B.C.
- INTEGER: Se guarda como un tiempo en Unix, que es el número de segundos desde 1970-01-01 00:00:00 UTC