SQLite y WordPress

SQLite es una biblioteca que se utiliza para gestionar bases de datos relacionales. Es multiplataforma, permite tratar PHP dinámico y cumple con los estándares, por lo que su curva de aprendizaje es baja si posees conocimientos de SQL.

Escrita en el lenguaje C para manejar bases de datos SQL de forma embebida en las propias aplicaciones con una gran ventaja de portabilidad y sin necesidad de utilizar software de servidor adicional.

Ideal para trabajar con volúmenes de información medianos y pequeños de manera ágil y eficiente (Según sus creadores es posible manejar bases de datos de terabytes sin problemas).

Como desarrolladores vamos a aprovechar las ventajas de SQLite en sitios hechos con WordPress. Puede ser útil en situaciones en las que no sea necesario un sistema de gestión de bases de datos muy complejo, como MySQL.

Ventajas de utilizar SQLite

  • Biblioteca Ligera.
  • Transaccional.
  • NO requiere ningún software de servidor adicional.
  • Necesita poca configuración.
  • Es de código libre.
  • Almacena toda la base de datos en un único archivo.
  • Tiene un bajo consumo de memoria, aproximadamente unos 250kb.
  • Se reducen los errores de memoria o problemas por la falta de memoria RAM.
  • Mejora el rendimiento de la Web (web performans).
  • Facilidad de copia de seguridad y migración.
  • Puedes aplicar medidas de seguridad como cifrado de datos sensibles.

Inconvenientes de utilizar SQLite

  • SQLite no tiene la opción para múltiples cuentas de usuario. No es posible la conexión de varios clientes.
  • Cuanto mayor es la base de datos mayor es el impacto de rendimiento.
  • No se pueden realizar consultas de datos desde el cliente.
  • No se pueden procesar varias conexiones al mismo tiempo.

Casos de uso muy interesantes

  • Incorpora una base de datos SQLite en dispositivos IOT (Internet de las cosas).
  • Utilízalo como sistema de Analítica de datos. Gestiona grandes conjuntos de datos.
  • Tratamiento de datos a gran escala. Big data. Según los creadores indican que es posible manejar bases de datos de cientos de Terabytes.
  • Utiliza SQLite como estrategia de Caché de Datos.

¿Cómo empezar en WordPress?

Para hacer pruebas te recomiendo utilizar una herramienta rápida y gratuita para desarrollar sitios WordPress en entorno local se llama Studio y es de WordPress.com.

Crea un sitio WordPress nuevo y activa el plugin SQLite Database Integration para convertir la base de datos que trae por defecto en una base de datos SQLite.

Para que este plugin función correctamente hay que especificar en el archivo wp-config.php el tipo de base de datos, indicando que va a ser sqlite.

define('DB_TYPE', 'sqlite');

Una vez tengamos todo activado, podrás ver que dentro de la carpeta wp-content han aparecido un archivo db.php (Controla la funcionalidad principal para ejecutar el contenido desde la base de datos SQLite) y una carpeta llamada database (Con el archivo de la base datos con formato .sqlite y un archivo .htaccess ).

A partir de aquí el WordPress está preparado para escalar a donde sea necesario.

Tipos de datos y ejemplos

  • INTEGER: Todos los valores enteros.
  • REAL: Representaciones aproximadas de un número real como número en coma flotante.
  • TEXT: Contenido en texto plano.
  • BLOB: Binary Large Object, contiene valores binarios como miniaturas o archivos de configuración en formato XML.
  • NULL: Valores nulos en SQLite.

Con el siguiente snippet de código crearemos una nueva tabla que se añadirá a la base de datos .sqlite. Utilizaremos CREATE TABLE.

global $wpdb;
$table_name = $wpdb->prefix . 'custom_table';

// Crear la tabla para SQLite
$sql = "CREATE TABLE IF NOT EXISTS $table_name (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT NOT NULL,
    created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);";

require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);

Para insertar o añadir contenido en la base de datos utilizaremos $wpdb->insert.

global $wpdb;
$table_name = $wpdb->prefix . 'custom_table';

$name = 'Israel Escuer';
$email = 'israel@example.com';

$wpdb->insert(
    $table_name,
    array(
        'name' => $name,
        'email' => $email
    ),
    array(
        '%s',
        '%s'
    )
);

Podremos eliminar contenido con $wpdb->delete, por lo tanto es posible crear interfaces en el frontend para gestionar toda la base de datos.

¿Te atreves a crear una intranet de usuarios gestionada desde el Frontend?

global $wpdb;
$table_name = $wpdb->prefix . 'custom_table';

$id = 1;

$wpdb->delete(
    $table_name,
    array('id' => $id),
    array('%d')
);

¿Cómo consultamos los datos con PHP? Esto es muy importante, debes entender como mostrar el contenido de la base de datos.

global $wpdb;
$table_name = $wpdb->prefix . 'custom_table';

$results = $wpdb->get_results("SELECT * FROM $table_name WHERE email = 'israel@example.com'", ARRAY_A);

foreach ($results as $row) {
    echo 'ID: ' . $row['id'] . '<br>';
    echo 'Name: ' . $row['name'] . '<br>';
    echo 'Email: ' . $row['email'] . '<br>';
    echo 'Created At: ' . $row['created_at'] . '<br>';
}

Se pueden hacer infinitas acciones, te invito a consultar la documentación de la biblioteca.

En la actualidad ¿quién está utilizando SQLite?

Por estas razones es que SQLite es la biblioteca para gestionar bases de datos mas utilizada del mundo. Aunque parezca mentira la llevamos siempre en el bolsillo.

  • Facebook
  • WhatsApp
  • Android
  • iOS
  • Skype
  • Google Chrome, Mozilla, Safari

Casos de uso con WordPress

El soporte de SQLite en WordPress va creciendo y ofreciendo ciertas ventajas. Es una gran opción para sitios pequeños y de un solo usuario.

A tener en cuenta por su simplicidad, rendimiento, bajo consumo de recursos y facilidad de administración.

Si estás construyendo proyectos sencillos en WordPress, SQLite puede ser la base de datos perfecta y sin complicaciones.

Utilízala para:

  • Base de datos individuales de plugins y temas.
  • Sitio web personal
  • blog
  • Página de portafolio
  • Pequeña aplicación web

En esta publicación, hemos visto como instalar y alojar WordPress utilizando SQLite como base de datos. Si tienes alguna pregunta específica sobre la instalación, configuración o el uso de WordPress con SQLite, no dudes en dejar tus preguntas en los comentarios a continuación. ¡Espero haberte ayudado a resolver algunas dudas sobre este tema!

Sobre el autor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *