Cómo utilizar DB Browser para SQLite en Linux

Una ventana de terminal en una computadora portátil Linux estilo Ubuntu.
Fatmawati Achmad Zaenuri / Shutterstock

DB Browser para 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. A continuación, se explica cómo utilizar 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 extraordinariamente exitoso. De hecho, tiene tanto éxito que se puede llamar a sí mismo el motor de base de datos más  utilizado  en el mundo.

Desde su lanzamiento inicial en 2000, SQLite ha experimentado una aceptación absolutamente asombrosa. Está dentro de todos los teléfonos iPhone y Android, y 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 se incorpora (o se  vincula , en lenguaje de desarrollador) en otras aplicaciones. El motor de la 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  MySQLMariaDBMicrosoft SQL Server .

SQLite también tiene una herramienta de línea de comandos para manipular bases de datos, pero es la biblioteca la que lo convirtió en un triunfo. Tener un motor de base de datos autónomo y capaz 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, toda la base de datos se puede mover a otra computadora. Incluso puede moverlo a una máquina que ejecute un sistema operativo diferente copiando un archivo.

De hecho, el formato de archivo de 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 tiene una interfaz, 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 para SQLite  (DB4S) encaja perfectamente. 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 bases de datos para SQLite

DB Browser para 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 causaba confusión. La gente pensó que había sido escrito por el equipo de SQLite y, por lo tanto, estaban reenviando solicitudes de funciones y consultas de soporte sobre DB4S a SQLite.

Entonces, SQLite Browser pasó a llamarse DB Browser para SQLite. Seguirá viendo referencias al nombre antiguo aquí y allá. De hecho, el sitio web del proyecto todavía usa “sqlitebrowser” como su dominio, y el nombre antiguo también se usa durante la instalación de DB4S.

Con DB4S puede:

  • Crea bases de datos.
  • Importe y exporte esquemas de base de datos, tablas y datos en formato SQL.
  • Importa y exporta tablas y datos en formato CSV.
  • Cree, edite y elimine tablas e índices.
  • Agregue, edite y elimine registros.
  • Examinar y buscar registros de bases de datos.
  • Edite y ejecute 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.
Relacionado:  Ahora puede experimentar el audio espacial en Netflix en iPhone y iPad

Instalación de DB Browser 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

sudo apt-get install sqlitebrowser en una ventana de terminal

En Fedora, escribe:

sudo dnf instalar sqlitebrowser

sudo dnf instala sqlitebrowser en una ventana de terminal

En Manjaro, usamos pacman:

sudo pacman -Sy sqlitebrowser

sudo pacman -Sy sqlitebrowser en una ventana de terminal

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 tanto datos como definiciones de tablas de base de datos, así como también cómo puede crear su propia base de datos.

DB Browser para SQLite en el primer lanzamiento

A veces, es posible que se le proporcione 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 que se utiliza para importar datos y definiciones de tablas 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 prácticos. 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:

COMENZAR LA TRANSACCIÓN;

Un archivo de volcado de base de datos SQL en el editor gedit

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 archivo para que podamos elegir nuestro archivo SQL. En nuestro ejemplo, se llama «database_dump.sql» y está ubicado en la raíz de nuestro directorio de inicio.

Cuadro de diálogo de la sección de archivo con "database_dump.sql" seleccionado

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.

Cuadro de diálogo para guardar archivo con "geekbase.sqlite3" ingresado como nombre de archivo

Haga clic en «Guardar» cuando esté listo para continuar. Hemos identificado nuestro archivo SQL de origen y hemos nombrado nuestra nueva base de datos, por lo que ahora puede comenzar el proceso de importación. Una vez que esté completo, verá el cuadro de diálogo de notificación a continuación.

Importar diálogo de notificación completado

Debido a que hemos agregado tablas y datos a la base de datos, se nos pide que guardemos esos cambios, por lo que hacemos clic en «Guardar» para hacerlo.

Guardar cuadro de diálogo de verificación de cambios

La ventana principal de DB4S ahora mostrará la estructura de nuestra base de datos.

DB Browser para SQLite que muestra la estructura de la 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 que se incrementan automáticamente.

Haga clic en la pestaña «Examinar datos» para ver los registros recién agregados.

Registros de base de datos en DB Browser para SQLite

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».

La pestaña "Ejecutar SQL" en DB Browser para SQLite

Hemos agregado el siguiente comando SQL:

SELECCIONAR * FROM detalles_cuenta DONDE last_name LIKE "% ll%" ORDENAR POR estado

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 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 pequeña sección de un archivo CSV.

Relacionado:  ¿Tienes una nueva Xbox Series X o S? 11 consejos para empezar

Parte superior de un archivo CSV con nombres de campo de tabla como primera fila

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; sólo ha cambiado el formato de archivo.

Cuando importa datos CSV, debe crear una base de datos vacía para tener algo a lo que importarlos. Para hacerlo, haga clic en «Nueva base de datos» en la barra de herramientas.

Nueva base de datos en la barra de herramientas DB Browser para SQLite

Se abre un cuadro de diálogo para guardar el archivo. Nombre su nueva base de datos y decida dónde guardarla. Vamos a llamar al nuestro «howtogeek.sqlite3» y guardarlo en nuestro directorio de inicio.

Guardar cuadro de diálogo con el nombre de archivo howtogeek.sqlite3 ingresado

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.

Cuadro de diálogo de selección de archivo con el archivo users.csv seleccionado

En nuestro ejemplo, se llama «users.csv» y está ubicado 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.

Cuadro de diálogo de vista previa de datos que muestra 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.»

Importar diálogo de notificación completado

Haga clic en «Examinar datos» y verá los datos importados.

Datos importados en la tabla Usuarios en DB Browser para SQLite

Sin embargo, todavía tenemos un pequeño ajuste que hacer. 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.

Panel de estructura de base de datos en DB Browser para SQLite

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».

Cuadro de diálogo Editar definición de tabla en DB Browser para SQLite

La casilla de verificación “PK” (clave principal) se selecciona automáticamente para usted; haga clic en Aceptar.» Esto configura el campo «id» para que se incremente automáticamente. Ahora podemos agregar un nuevo registro a la base de datos para verificar que esté funcionando.

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 "usuarios" 
("nombre", "apellido", "creado", "correo electrónico", "estado")
VALORES ('Dave', 'McKay', '08/12/2020', '[email protected]', 'Idaho');

Ejecute el panel SQL en DB Browser para SQLite

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 «id» proporcionado automáticamente que contiene un valor que es uno más alto que el valor «id» más alto anterior.

Nuevo registro con campo "id" incrementado automáticamente

Crear una base de datos manualmente

Si no tiene un archivo SQL o CVS para importar, tendrá que crear su base de datos manualmente. Para comenzar, haga clic en «Nueva base de datos» y aparecerá un cuadro de diálogo para guardar el archivo. 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 hasta la ubicación en la que desea guardarla, haga clic en «Guardar».

Cuadro de diálogo Guardar archivo con la base de datos denominada geeksrock.sqlite3 ingresada

Cuando se le solicite que confirme sus opciones, haga clic en «Guardar» una vez más.

Un cuadro de diálogo Guardar confirmación en DB Browser para SQLite

Aparece el cuadro de diálogo «Editar definición de tabla». Ponle un nombre a tu nueva tabla (hemos llamado a la nuestra «águilas») y luego haz 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».

Cuadro de diálogo Editar definición de tabla DB Browser para SQLite

Hemos agregado un campo de texto para contener el nombre del águila y un campo numérico real (punto flotante) para contener la envergadura.

Cuadro de diálogo Editar definición de tabla con dos campos agregados a la nueva tabla DB Browser para SQLite

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  (Incremento automático): los campos numéricos se pueden completar automáticamente, con el siguiente valor no utilizado más alto. Usamos esto en el campo «id» en el ejemplo que cubrimos anteriormente.
  • U (único): este campo en cada registro debe contener 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.
  • Verificación: se puede realizar una verificación de 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 utilizar diferentes métodos de comparación de cadenas. El valor predeterminado es BINARY. Otras opciones son NOCASE, que no distingue entre mayúsculas y minúsculas y RTRIMque ignora los espacios en blanco finales. En la mayoría de los casos, puede dejar esto con el valor predeterminado.
  • Clave externa: 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 del tipo «cincel».
Relacionado:  Los precios de las tarjetas gráficas NVIDIA y AMD finalmente están bajando

Haga clic en «Aceptar» después de agregar los campos que desee. Una vez creada su base de datos y agregada 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.

Una instrucción INSERT SQL en la pestaña Ejecutar SQL en DB Browser para SQLite

También podemos usar la pestaña «Examinar datos» para ver nuestros nuevos registros.

Pestaña Examinar datos con nuevos registros listados DB Browser para SQLite

Si prefiere agregar nuevos registros a través de la interfaz de usuario, haga clic en «Nuevo registro» en la barra de herramientas. A continuación, puede ingresar los valores para el nuevo registro sin comprender SQL.

Bases de datos de otras aplicaciones

También puede utilizar 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 resultar instructivo (o simplemente interesante). Sin embargo, es importante que no realice cambios en las bases de datos que pertenecen a otras aplicaciones, ya que 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 el 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 personal.

En nuestra máquina de prueba, encontramos las bases de datos de Firefox SQLite en esta ubicación: “home / dave / .mozilla / firefox / vpvuy438.default-release”; el tuyo estará en una ubicación similar.

Diálogo de apertura de archivo con el archivo coockies.sqlite resaltado

Vamos a abrir la base de datos «cookies.sqlite», por lo 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.

Datos de cookies dentro de la base de datos cookies.sqlite de Firefox DB Browser para SQLite

Aquí, podemos ver una variedad de cookies de Google y YouTube.

Exportar proporciona información

Exportar una base de datos (haciendo clic en Archivo> Exportar> Base de datos a archivo SQL) también es útil. Al observar el volcado de SQL de una base de datos, puede ver el esquema completo de la base de datos representado en declaraciones SQL.