Unidad Didáctica 4. Creación de bases de datos en SQLite (2023)

ASIR / DAW - (Gestión de) Bases de datos

José Juan Sánchez Hernández

IES Celia Viñas (Almería) - 2022/2023

2.1 Características de SQLite

SQLite es un sistema gestor de bases de datos relacionales que está liberado bajo una licencia de dominio público, esto quiere decir que no tiene derechos de autor y que no existe ninguna restricción a la hora de utilizarlo.

Algunas de las características que hacen que SQLite sea un proyecto muy interesante son las siguientes:

  • Serverless. No necesita una arquitectura cliente/servidor para funcionar. Tampoco necesita de un proceso específico para ejecutarse como un servicio.

  • Single file database. Cada base de datos se almacena en un único archivo.

  • Zero Configuration. Al no ser necesario un servidor, no es necesario realizar ninguna configuración adicional. Crear una instancia de una base de datos SQLite es tan sencillo como crear un archivo.

  • Cross-Platform. El archivo que contiene la base de datos puede ser utilizado en cualquier plataforma (Linux, Windows, macOS).

  • Self-Contained. La biblioteca SQLite contiene todo el sistema gestor de bases de datos, de modo que se puede integrar fácilmente con la aplicación que haga uso de este sistema.

  • Small Runtime Footprint. El ejecutable de SQLite ocupa menos de 1 MByte y necesita pocos Megabytes de memoria para ejecutarse.

  • Transactional. Permite transacciones ACID y permite el acceso seguro a la base de datos desde múltiples procesos y hilos.

    (Video) Como Crear BASE DE DATOS en SQL SERVER Desde Cero 😉

  • Full-Featured. Tiene soporte para la mayoría de características del estándar SQL92 (SQL2).

2.2 Usos de SQLite

Importante:

Se recomienda leer la sección Appropiate uses for SQLite en la web oficial del proyecto, para conocer en qué situaciones es apropiado el uso de SQLite.

2.3 Instalación de sqlite3

La utilidad sqlite3, que es una aplicación de línea de comandos que nos permite interactuar con bases de datos SQLite.

2.3.1 Ubuntu

Para instalar sqlite3 en Ubuntu haremos lo siguiente:

Una vez instalada la utilidad sólo tenemos que escribir sqlite3 en un terminal para iniciarla. Deberíamos obtener una salida similar a la que se muestra a continuación.

(Video) Cómo Crear una BASE DE DATOS Desde Cero en Excel

2.3.2 Otras plataformas

Para instalar sqlite3 en otras plataformas sólo habrá que descargar el archivo binario de la web oficial.

2.4 Comandos de sqlite3 (dot-commands)

Los dot-commands son comandos que nos permiten configurar la utilidad sqlite3. Estos comandos se diferencian de las sentencias SQL porque siempre empiezan con un punto. Además los dot-commands no terminan en punto y coma, sin embargo las sentencias SQL siempre tienen que terminar en punto y coma.

Algunos de los dot-commands que vamos a utilizar son los siguientes:

ComandoDescripción
.helpMuestra la lista completa de todos los dot-commands disponibles.
.quitSe usa para salir de sqlite3.
.showMuestra algunos de la configuración actual de sqlite3.
.databasesMuestra una tabla con todas las bases de datos adjuntas.
.tablesMuestra las tablas y vistas de las bases de datos main y temp.
.schemaMuestra el comando SQL que se ha utilizado para crear una tabla, vista, índice, etc.
.headersMuestra/Oculta los nombres de las columnas. Por defecto está a off.
.modeConfigura cómo será formateada la salida de los datos. Por defecto está en list.
.dumpGenera los comandos SQL necesarios para recrear una o más tablas de la base de datos.

2.4.1 .databases

2.4.1.1 Uso

.databases

2.4.1.2 Descripción

Muestra una tabla con todas las bases de datos adjuntas. La tabla que se muestra tiene el siguiente formato:

Nombre de la columnaTipoDescripción
seqIntegerNúmero de base de datos (0: main y 1: temp)
nameTextNombre lógico de la base de datos
fileTextRuta donde se encuentra el archivo de la base de datos

La primera base de datos será main y tiene como número de secuencia el 0. La segunda base de datos será temp y tendrá el número de secuenca 1. Esta base de datos es donde se crean los objetos temporales y no siempre aparecerá en el listado. Si existen más bases de datos adjuntas aparecerán a continuación.

2.4.2 .tables

2.4.2.1 Uso

.tables [table-pattern]

2.4.2.2 Descripción

Muestra las tablas y vistas de las bases de datos main y temp.

2.4.3 .schema

2.4.3.1 Uso

.schema [table-pattern]

2.4.3.2 Descripción

Muestra el comando SQL que se ha utilizado para crear una tabla, vista, índice, etc.

Si no especifica ningún parámetro se muestran los comandos SQL para crear cada uno de los objetos de las bases de datos main y temp.

2.4.4 .headers

2.4.4.1 Uso

.headers [on | off]

2.4.4.2 Descripción

Muestra/Oculta los nombres de las columnas. Por defecto está a off.

2.4.5 .mode

2.4.5.1 Uso

.mode (colum[s]|csv|html|insert|line[s]|list|tabs|tcl) [table-name]

2.4.6 Descripción

Configura cómo será formateada la salida de los datos. Por defecto está en list.

Las opciones que podemos escoger son las siguientes:

  • column. La salida se formatea en forma de tabla con una fila por línea. El ancho de cada columna utilizado será el especificado con el comando .width.

    (Video) HTML form - PHP and MySQL Database

  • csv. La salida se formatea separada por comas, con una fila por línea.

  • html. La salida es una tabla en formato HTML.

  • insert. La salida es una lista de sentencias SQL (INSERT).

2.5 Datatypes In SQLite Version 3

Reference.

2.6 Full-Featured SQL

Reference.

2.7 SQL As Understood By SQLite

Referencia.

2.8 Frequently Asked Questions

Referencia.

  • Does SQLite support foreign keys?

As of version 3.6.19 (2009-10-14), SQLite supports foreign key constraints. But enforcement of foreign key constraints is turned off by default (for backwards compatibility). To enable foreign key constraint enforcement, run PRAGMA foreign_keys=ON or compile with -DSQLITE_DEFAULT_FOREIGN_KEYS=1.

3.1 Crear una base de datos

3.1.1 Desde la utilidad sqlite3

Podemos crear una base de datos SQLite con la utilidad sqlite3 desde la línea de comandos. Por ejemplo, para crear una base de datos con el nombre agenda.db ejecutaremos el siguiente comando.

Este comando creará un archivo donde se almacenará toda la información de nuestra base de datos.

El encoding que se utilizará por defecto al crear la base de datos será utf8.

3.1.2 PRAGMA encoding;

Las sentencias PRAGMA son una extensión de SQL que se han añadido de forma específica en SQLite y nos permiten modificar el funcionamiento de la librería SQLite.

La sentencia PRAGMA encoding nos permite consultar y modificar el encoding utilizado en la base de datos.

Ejemplo:

Los diferentes tipos de encoding que podemos seleccionar son los siguientes:

  • PRAGMA encoding = "UTF-8";
  • PRAGMA encoding = "UTF-16";
  • PRAGMA encoding = "UTF-16le";
  • PRAGMA encoding = "UTF-16be";
(Video) ¿Cómo hacer una base de datos para un sistema Escolar?

FAQs

¿Cómo se crea una base de datos en SQLite? ›

El procedimiento recomendado para crear una nueva base de datos SQLite es, de forma esquemática: crer una clase que extienda de SQLiteOpenHelper. sobreescribir en ella el método onCreate() , donde se ejecutará un comando de SQLite para crear las tablas de la base de datos.

¿Cómo funciona una base de datos SQLite? ›

Básicamente, funciona como un servidor propio e independiente, ya que el Sistema de Gerencia de Base de Datos o SGBD, se puede ejecutar en la misma instancia, eliminando así las consultas y procesos separados. Por lo tanto, la biblioteca SQLite se genera y almacena directamente en el archivo de la base de datos.

¿Qué significa SQLite? ›

En términos generales, lo que es SQLite hace referencia a una base de datos relacional, la cual se considera de dominio público, debido a que es de código abierto u open source, aspecto que ayuda a que sea accesible para el desarrollo de aplicaciones.

¿Qué es SQLite PDF? ›

SQLite es una librería compacta y autocontenida de código abierto y distribuida bajo dominio público que implementa un gestor de bases de datos SQL embebido, sin configuración y transaccional.

¿Qué método de SQLite nos permite actualizar la base de datos? ›

Actualización de datos

Usando de nuevo el método execSQL() pero esta vez pasando como parámetro la sentencia SQL propia para la actualización de un campo. Usando el método update() que recibe cuatro parámetros: El nombre de la tabla. El objeto ContentValues, que incluye los nuevos datos a modificar.

¿Cuando no usar SQLite? ›

Desventajas de SQLite:

No es fácilmente escalable. No es adecuado para grandes bases de datos. Carece de funciones de seguridad y administración de usuarios. No se puede personalizar.

¿Qué lenguaje utiliza SQLite? ›

SQLite implementa el estándar SQL92 y también agrega extensiones que facilitan su uso en cualquier ambiente de desarrollo.

¿Qué aplicaciones usan SQLite? ›

Android. Windows 95,98,2000,XP,7,8…
...
No obstante muchas empresas potentes lo utilizan para sus aplicaciones de escritorio:
  • Adobe Photoshop Elements.
  • Mozilla Firefox.
  • Openoffice.org.
  • Skype.
  • Opera.
  • The New Yorker.
  • XBMC (XBox Media Center)
  • … Etc.
8 Jan 2022

¿Qué se puede hacer en SQLite? ›

Es ideal para consultar y almacenar datos de forma estructurada. La aplicación solo tiene que cargar tantos datos como necesite, en lugar de leer todo el archivo de la aplicación y mantener un análisis completo en la memoria, por ende el tiempo de inicio y el consumo de memoria se reducen.

¿Cómo acceder a una base de datos SQLite? ›

Para acceder y recibir datos desde una base de datos MySQL necesitas enviar una solicitud al servidor MySQL, que al recibirla proporciona la respuesta adecuada. Contrariamente a MySQL, las bases de datos SQLite operan directamente desde el disco. No hay necesidad de crear peticiones al servidor.

¿Cómo instalar SQLite en Windows? ›

Para instalar sqlite3 en Windows necesitas, en primer lugar, dirigirte al sitio web https://www.sqlite.org/download.html ahí te dirigirás a la sección Precompiled Binaries for Windows, en la que encontrarás los binarios para Windows, de ahí tienes que descargar los archivos: sqlite-tools. sqlite-dll.

¿Cómo instalar SQLite en Python? ›

El siguiente comando se utiliza para instalar el paquete sqlite3 .
  1. Copy pip install pysqlite3.
  2. Copy pip install pysqlite.
  3. Copy conda install sqlite3.
22 Jan 2022

¿Qué base de datos utiliza por defecto Android? ›

SQLite. SQLite hace referencia a una de las bases de datos para Android que, cabe resaltar, es la que este sistema implementa por defecto, de modo que se considera el gestor DB “de fábrica”.

Videos

1. Como crear una BASE DE DATOS CON IMAGENES desde un FORMULARIO CON VBA en Excel.
(El Inge Francisco)
2. ¿Cómo hacer una base de datos para transacciones bancarias? | SQL Server
(hdeleon.net)
3. Como crear una base de datos en SPSS 1 de 4 (Captura, Limpieza, Unión de bases)
(Estadística con Joaquín Padilla)
4. Python Flask and Mysql Web Application | Practical Example
(Fazt Code)
5. Easy Database - 2
(Profe Gabriel Sosa)
6. Semana 08 TDP Mañana
(Juan Carlos Hernandez Saona)
Top Articles
Latest Posts
Article information

Author: Edmund Hettinger DC

Last Updated: 01/25/2023

Views: 5526

Rating: 4.8 / 5 (78 voted)

Reviews: 93% of readers found this page helpful

Author information

Name: Edmund Hettinger DC

Birthday: 1994-08-17

Address: 2033 Gerhold Pine, Port Jocelyn, VA 12101-5654

Phone: +8524399971620

Job: Central Manufacturing Supervisor

Hobby: Jogging, Metalworking, Tai chi, Shopping, Puzzles, Rock climbing, Crocheting

Introduction: My name is Edmund Hettinger DC, I am a adventurous, colorful, gifted, determined, precious, open, colorful person who loves writing and wants to share my knowledge and understanding with you.