Tabla de contenidos
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 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 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.
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
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 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.
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;
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.
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 esté completo, 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 pide 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 que se incrementan automáticamente.
Haga clic en la pestaña «Examinar datos» para ver los 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:
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.
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.
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.
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 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.
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 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');
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.
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».
Cuando se le solicite que confirme sus opciones, haga clic en «Guardar» una vez más.
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».
Hemos agregado un campo de texto para contener el nombre del águila y un campo numérico real (punto 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 (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 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 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».
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.
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. 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.
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.
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.