Cómo usar DB Browser para SQLite en Linux
Publicado: 2022-01-29DB 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 ha convertido 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 tiene un front-end, 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 pensó que había sido escrito por el equipo de SQLite y, por lo tanto, estaba reenviando 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 antiguo nombre aquí y allá. De hecho, el sitio web del proyecto todavía usa "sqlitebrowser" como dominio, y el nombre anterior también se usa durante la instalación de DB4S.
Con DB4S puede:
- Crear bases de datos.
- Importe y exporte esquemas de bases de datos, tablas y datos en formato SQL.
- Importa y exporta tablas y datos en formato CSV.
- Crear, editar y eliminar tablas e índices.
- Agregar, editar y eliminar registros.
- Examinar y buscar registros en la base 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.
Instalación del navegador DB para SQLite
Para instalar DB4S en Ubuntu, use el siguiente comando (nuevamente, tenga en cuenta que la instalación todavía usa el nombre anterior):
sudo apt-get install sqlitebrowser
En Fedora, escribe:
sudo dnf instalar 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 cargada una base de datos. 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:
COMENZAR TRANSACCIÓN;
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 está ubicado 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. 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 se complete, verá el cuadro de diálogo de notificación a continuación.
Debido a que hemos agregado 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:
SELECCIONE * DESDE detalles_cuenta DONDE apellido COMO "%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 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 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.
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"):
INSERTAR EN "usuarios" ("nombre","apellido","creado","correo electrónico","estado") VALORES ('Dave','McKay','08/12/2020','[email protected]','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.
- Verificar: Un campo puede tener una verificación 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 al final. En la mayoría de los casos, puede dejar esto 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.