Cómo usar DB Browser para SQLite en Linux
DB Browser for SQLite le permite ver y editar bases de datos SQLite en Linux. Puede diseñar, crear y editar estos archivos de base de datos y echar un vistazo al funcionamiento interno de otras aplicaciones. Aquí se explica cómo usar esta GUI de SQLite.
El proyecto de base de datos SQLite
La biblioteca y las herramientas de la base de datos SQLite son un proyecto de base de datos de lenguaje de consulta estructurado (SQL) de código abierto fenomenalmente exitoso. Tan exitoso, de hecho, que justificadamente puede llamarse a sí mismo el motor de base de datos más implementado en el mundo.
Desde su lanzamiento inicial en 2000, SQLite ha visto una aceptación absolutamente asombrosa. Está dentro de todos los teléfonos iPhone y Android, y de las computadoras con Windows 10 o Mac. También está en todos los navegadores de Internet, incluidos Chrome, Firefox y Safari, así como en muchas otras aplicaciones.
El increíble alcance de la base de datos SQLite se debe a su arquitectura. Es una biblioteca rápida y liviana que está incorporada (o vinculada, en la jerga de los desarrolladores) en otras aplicaciones. El motor de base de datos se convierte en una parte integral del producto. Esto significa que no tiene que proporcionar un servidor de base de datos SQL externo, como MySQL, MariaDB o Microsoft SQL Server.
SQLite también tiene una herramienta de línea de comandos para manipular bases de datos, pero es la biblioteca lo que la convirtió en un triunfo. Tener un motor de base de datos capaz y autónomo escondido dentro de su aplicación elimina muchos problemas. Simplifica las rutinas de instalación de su aplicación y reduce los requisitos mínimos de hardware para su aplicación.
Además, debido a que SQLite usa un solo archivo multiplataforma para sus tablas, índices y esquemas de base de datos, la base de datos completa se puede mover a otra computadora. Incluso puede moverlo a una máquina que ejecuta un sistema operativo diferente copiando un archivo.
De hecho, el formato de archivo de la base de datos de SQLite está tan bien considerado que es uno de los pocos recomendados por la Biblioteca del Congreso para el almacenamiento de datos a largo plazo.
Sin embargo, debido a que SQLite es una biblioteca para desarrolladores, no hay una interfaz para él, lo que significa que no tiene una interfaz gráfica de usuario. Es la aplicación que utiliza la biblioteca la que proporciona la interfaz de usuario. La utilidad de línea de comandos puede ejecutarse en modo interactivo, pero aún no es una GUI.
DB Browser for SQLite (DB4S) se ajusta muy bien a la factura. Es una herramienta visual desarrollada por otro proyecto de código abierto para permitir la creación y manipulación de bases de datos SQLite desde una GUI.
Navegador de base de datos para SQLite
DB Browser for SQLite ha existido (en una encarnación u otra) desde 2003 y ha sufrido varios cambios de nombre. Anteriormente, se llamaba SQLite Browser, pero eso generaba confusión. La gente pensaba que había sido escrito por el equipo de SQLite y, por lo tanto, enviaba solicitudes de funciones y consultas de soporte sobre DB4S a SQLite.
Entonces, SQLite Browser pasó a llamarse DB Browser para SQLite. Todavía verá referencias al nombre anterior aquí y allá. De hecho, el sitio web del proyecto todavía usa sqlitebrowser como dominio, y el nombre antiguo también se usa durante la instalación de DB4S.
Con DB4S puede:
- Crear bases de datos.
- Importe y exporte esquemas, tablas y datos de bases de datos en formato SQL.
- Importe y exporte tablas y datos en formato CSV.
- Cree, edite y elimine tablas e índices.
- Agregar, editar y eliminar registros.
- Examinar y buscar registros en la base de datos.
- Editar y ejecutar comandos SQL. Puede asegurarse de que el comando haga lo que cree que va a hacer antes de codificar algo de SQL en su aplicación.
Instalación del navegador DB para SQLite
Para instalar DB4S en Ubuntu, use el siguiente comando (nuevamente, tenga en cuenta que la instalación aún usa el nombre anterior):
sudo apt-get install sqlitebrowser
En Fedora, escribe:
sudo dnf install sqlitebrowser
En Manjaro, usamos pacman
:
sudo pacman -Sy sqlitebrowser
Importación de una base de datos desde un archivo SQL
Cuando se inicia DB4S, no tiene una base de datos cargada. Vamos a ver dos formas en que puede importar definiciones de tablas de datos y bases de datos, así como también cómo puede crear su propia base de datos.
A veces, es posible que reciba o envíe un archivo de volcado de base de datos en formato SQL. Contiene las instrucciones necesarias para volver a crear una base de datos e insertar sus datos en una base de datos.
Otro formato común utilizado para importar definiciones de tablas y datos es el formato de valores separados por comas (CSV). Puede utilizar un sitio de generación de datos, como Database Test Data, para generar datos ficticios con fines de práctica. Luego puede exportar sus datos como SQL o CSV.
A continuación se muestra un archivo SQL que creamos en ese sitio. Después de exportarlo, lo editamos y agregamos una línea en la parte superior del archivo, que es necesaria para SQLite:
BEGIN TRANSACTION;
Luego guardamos el archivo. En DB4S, hacemos clic en Archivo > Importar > Base de datos desde archivo SQL.
Se abre un cuadro de diálogo de selección de archivos para que podamos elegir nuestro archivo SQL. En nuestro ejemplo, se llama database_dump.sql y se encuentra en la raíz de nuestro directorio de inicio.
Con el archivo seleccionado, hacemos clic en Abrir y se abre un cuadro de diálogo para guardar el archivo. Ahora debe nombrar su nueva base de datos y decidir dónde guardarla. Llamamos al nuestro geekbase.sqlite3 y lo estamos guardando en nuestro directorio de inicio.
Haga clic en Guardar cuando esté listo para continuar. Identificamos nuestro archivo SQL de origen y nombramos nuestra nueva base de datos, por lo que ahora puede comenzar el proceso de importación. Una vez que se complete, verá el cuadro de diálogo de notificación a continuación.
Debido a que agregamos tablas y datos a la base de datos, se nos solicita que guardemos esos cambios, por lo que hacemos clic en Guardar para hacerlo.
La ventana principal de DB4S ahora mostrará la estructura de nuestra base de datos.
Hay dos tablas creadas, aunque solo había una definición para una en el archivo SQL. Esto se debe a que el campo id se definió como un campo de incremento automático. Se agregará automáticamente cada vez que se agregue un nuevo registro a la base de datos. SQLite crea una tabla para realizar un seguimiento de los campos de incremento automático.
Haga clic en la pestaña Examinar datos para ver sus registros recién agregados.
Por supuesto, el poder de una base de datos radica en su capacidad para buscar y extraer registros. Con una base de datos habilitada para SQL, usamos el lenguaje SQL para hacer esto. Para comenzar, la pestaña Ejecutar SQL.
Hemos agregado el siguiente comando SQL:
SELECT * FROM account_details WHERE last_name LIKE "%ll%" ORDER BY state
Esto buscará personas con una doble l en su apellido y los resultados se ordenarán por estado. Haga clic en la flecha azul (parece un botón Reproducir) para ejecutar su comando SQL. Los resultados se muestran en el panel inferior.
Tenemos cuatro registros que contienen la doble l en el apellido y están ordenados alfabéticamente por estado, desde Arizona hasta Wisconsin.
Importación de una tabla de base de datos desde un archivo CSV
También podemos importar tablas desde archivos CSV adecuados. La forma más conveniente de hacerlo es tener los nombres de los campos de la tabla en el archivo CSV como la primera fila de texto. A continuación se muestra una breve sección de un archivo CSV.
La primera línea contiene los nombres de los campos: nombre, apellido, creado, correo electrónico, estado e ID. Las otras líneas contienen los valores de datos para cada registro que se agregará a la tabla. Estos son los mismos datos que antes; solo ha cambiado el formato del archivo.
Cuando importa datos CSV, debe crear una base de datos vacía para tener algo a donde importarlos. Para hacerlo, haga clic en Nueva base de datos en la barra de herramientas.
Se abre un cuadro de diálogo para guardar archivos. Asigne un nombre a su nueva base de datos y decida dónde guardarla. Vamos a llamar al nuestro howtogeek.sqlite3 y lo guardaremos en nuestro directorio de inicio.
Cuando aparezca el cuadro de diálogo Editar definición de tabla, haga clic en Cancelar. De vuelta en la ventana principal de DB4S, haga clic en Archivo > Importar > Tabla desde archivo CSV. Se abre un cuadro de diálogo de selección de archivos en el que puede elegir su archivo CSV.
En nuestro ejemplo, se llama users.csv y se encuentra en la raíz de nuestro directorio de inicio. Haga clic en Abrir y aparecerá un cuadro de diálogo de vista previa para mostrarle cómo DB4S interpretará los datos CSV.
El nombre del archivo se utiliza como nombre de la tabla. Puede editar esto si lo desea, solo asegúrese de seleccionar la casilla de verificación junto a Nombres de columna en la primera línea.
Haga clic en Aceptar (está fuera de la pantalla en la imagen de arriba). Los datos se importan y, si todo está bien, debería ver el cuadro de diálogo Importación completada; haga clic en Aceptar.
Haga clic en Examinar datos y verá los datos importados.
Sin embargo, todavía tenemos que hacer un pequeño ajuste. Haga clic en la pestaña Estructura de la base de datos, seleccione el nombre de la tabla y luego haga clic en Modificar tabla en la barra de herramientas.
En el cuadro de diálogo Editar definición de tabla, seleccione la casilla de verificación AI (incremento automático) en el campo id.
La casilla de verificación PK (Clave principal) se selecciona automáticamente para usted; haga clic en Aceptar. Esto establece que el campo id se incremente automáticamente. Ahora podemos agregar un nuevo registro a la base de datos para verificar que funciona.
Haga clic en la pestaña Ejecutar SQL y luego escriba el siguiente SQL en el panel superior (tenga en cuenta que estamos proporcionando valores para todos los campos excepto id):
INSERT INTO "users"
("first_name","last_name","created","email","state")
VALUES ('Dave','McKay','12/08/2020','dave@llk.com','Idaho');
Haga clic en la flecha azul (que parece un botón Reproducir) para ejecutar su comando SQL. Haga clic en Examinar datos y desplácese hasta la parte inferior. Debería ver su registro recién agregado con un campo de id provisto automáticamente con un valor que es uno más alto que el valor de id más alto anterior.
Crear una base de datos manualmente
Si no tiene un archivo SQL o CVS para importar, deberá crear su base de datos manualmente. Para comenzar, haga clic en Nueva base de datos y aparecerá un cuadro de diálogo para guardar archivos. Escriba el nombre de su nueva base de datos y dónde desea guardarla.
Hemos llamado al nuestro geeksrock.sqlite3 y lo estamos guardando en el directorio Documentos. Después de nombrar su base de datos y navegar a la ubicación en la que desea guardarla, haga clic en Guardar.
Cuando se le solicite que confirme sus elecciones, haga clic en Guardar una vez más.
Aparece el cuadro de diálogo Editar definición de tabla. Asigne un nombre a su nueva tabla (llamamos a la nuestra águilas) y luego haga clic en Agregar campo. Ahora puede escribir un nombre para el campo y seleccionar el tipo de información que contendrá en el menú desplegable Tipo.
Hemos agregado un campo de texto para contener el nombre del águila y un campo numérico real (coma flotante) para contener la envergadura.
Las casillas de verificación y otras opciones junto a cada campo le permiten agregar los siguientes comportamientos:
- NN (no nulo): cuando se establece esta opción, el campo no se puede dejar vacío. Si intenta agregar un registro sin proporcionar un valor para este campo, será rechazado.
- PK (clave principal): un campo (o grupo de campos) que proporciona un identificador único para los registros de la tabla. Este podría ser un valor numérico simple, como los campos enteros de incremento automático que cubrimos anteriormente. Sin embargo, en una tabla de cuentas de usuario, podría ser un nombre de usuario. Solo puede haber una clave principal en una tabla.
- AI (Aumento automático): los campos numéricos se pueden completar automáticamente, con el siguiente valor más alto sin usar. Usamos esto en el campo id en el ejemplo que cubrimos anteriormente.
- U (único): este campo en cada registro debe tener un valor único, lo que significa que no puede haber duplicados en este campo en la tabla.
- Predeterminado: se proporcionará un valor predeterminado si se agrega un registro que no tiene ningún valor en este campo.
- Comprobar: se puede realizar una comprobación en un campo cuando se agrega un registro. Por ejemplo, puede verificar que el valor en un campo de número de teléfono tenga al menos 10 caracteres.
- Intercalación: Sqlite puede usar diferentes métodos de comparación de cadenas. El valor predeterminado es
BINARY
. Otras opciones sonNOCASE
, que no distingue entre mayúsculas y minúsculas, yRTRIM
, que ignora los espacios en blanco finales. En la mayoría de los casos, puede dejarlo en el valor predeterminado. - Clave foránea: un campo o grupo de campos en un registro que debe coincidir con una clave en otra tabla. Por ejemplo, en una base de datos de herramientas de taller, puede tener una tabla de herramientas individuales y otra tabla de categorías de herramientas. Si las categorías de herramientas son martillo, llave inglesa y destornillador, no puede agregar un registro de tipo cincel.
Haga clic en Aceptar después de agregar los campos que desee. Después de crear su base de datos y agregar su primera tabla, puede agregar algunos registros.
En la pestaña Ejecutar SQL, usamos la instrucción SQL INSERT varias veces para agregar algunos registros a la tabla.
También podemos usar la pestaña Examinar datos para ver nuestros nuevos registros.
Si prefiere agregar nuevos registros a través de la interfaz de usuario, haga clic en Nuevo registro en la barra de herramientas. Luego puede ingresar los valores para el nuevo registro sin entender SQL.
Bases de datos de otras aplicaciones
También puede usar DB4S para ver las bases de datos SQLite que pertenecen a otras aplicaciones. Examinar la estructura o el contenido de otras bases de datos puede ser instructivo (o simplemente interesante). Sin embargo, es importante que no realice cambios en las bases de datos que pertenecen a otras aplicaciones, o podría afectar negativamente el funcionamiento de esa aplicación.
Veamos una de las bases de datos SQLite que Firefox crea y mantiene. Haga clic en Abrir base de datos en la barra de herramientas y aparecerá un cuadro de diálogo para abrir un archivo. Firefox guarda sus archivos en un directorio llamado firefox, que está dentro de un directorio oculto llamado .mozilla que se encuentra en su directorio de inicio.
En nuestra máquina de prueba, encontramos las bases de datos SQLite de Firefox en esta ubicación: “home/dave/.mozilla/firefox/vpvuy438.default-release”; el tuyo estará en una ubicación similar.
Vamos a abrir la base de datos cookies.sqlite, así que resaltamos el archivo y luego hacemos clic en Abrir. Con la base de datos abierta, puede examinar la estructura de la tabla, las definiciones de campo y los datos.
Aquí, podemos ver una variedad de cookies de Google y YouTube.
La exportación proporciona información
También es útil exportar una base de datos (haciendo clic en Archivo > Exportar > Base de datos a archivo SQL). Al mirar el volcado SQL de una base de datos, puede ver el esquema completo de la base de datos representado en declaraciones SQL.