Un toolkit de Swift para bases de datos SQLite que ofrece persistencia de registros, una interfaz de consultas, migraciones y observación de bases de datos para desarrollar apps.
stephencelis/SQLite.swift
Una capa de Swift con seguridad de tipos sobre SQLite3 que ofrece un generador de consultas y acceso tipado a datos para apps de Apple y Linux.
- Estrellas
- 10,188
- Forks
- 1,612
- Issues abiertos
- 133
- Último commit
- hace 12 días
¿Qué es?
SQLite.swift envuelve la API de C de SQLite3 en una interfaz escrita íntegramente en Swift. En lugar de concatenar cadenas SQL, los desarrolladores crean consultas con un generador de expresiones tipado, de modo que el compilador comprueba los tipos de las columnas y si admiten valores opcionales. Las consultas se pueden encadenar y son diferidas: solo se ejecutan cuando se las solicita.
La biblioteca también funciona como una capa ligera y adaptada a Swift para trabajar con SQL sin procesar cuando hace falta, con prepared statements, vinculación de parámetros y acceso a propiedades de la conexión, como totalChanges y lastInsertRowid. Incluye utilidades para consultar esquemas y gestionar migraciones, compatibilidad con búsqueda de texto completo, configuración del registro WAL e integración con SQLCipher mediante Swift Package Manager.
Se puede instalar con Swift Package Manager, CocoaPods, Carthage o como subproyecto de Xcode, y funciona en Linux con algunas limitaciones.
Funciones clave
- 01Generador de expresiones SQL con seguridad de tipos y tipos de columna que contemplan valores opcionales
- 02API de consultas encadenables y de ejecución diferida
- 03Prepared statements de SQL sin procesar con vinculación de parámetros
- 04Utilidades para consultar esquemas y gestionar migraciones
- 05Búsqueda de texto completo y configuración del registro WAL
- 06Compatibilidad con SQLCipher mediante Swift Package Manager
Casos de uso
- Guardar datos locales en una app de iOS o macOS mediante consultas verificadas en tiempo de compilación
- Crear un servidor Swift o una herramienta de línea de comandos que almacene datos en SQLite en Linux
- Cifrar una base de datos local con SQLCipher en una app para plataformas Apple
Inicio rápido
- 1
Añade la dependencia SQLite.swift a Package.swift
- 2
Compila el proyecto con Swift Package Manager
swift build
Antes de usarlo
- Al iterar los resultados de prepare(), se usa try! en cada paso, por lo que un error de SQLite durante la iteración provoca que la aplicación se cierre inesperadamente. Usa prepareRowIterator() para gestionar estos errores.
- La compatibilidad con Linux tiene algunas limitaciones.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es SQLite.swift?
- Una capa de Swift con seguridad de tipos sobre SQLite3 que ofrece un generador de consultas y acceso tipado a datos para apps de Apple y Linux. SQLite.swift envuelve la API de C de SQLite3 en una interfaz escrita íntegramente en Swift. En lugar de concatenar cadenas SQL, los desarrolladores crean consultas con un generador de expresiones tipado, de modo que el compilador comprueba los tipos de las columnas y si admiten valores opcionales. Las consultas se pueden encadenar y son diferidas: solo se ejecutan cuando se las solicita.
- ¿SQLite.swift es gratuito? ¿Qué licencia tiene?
- SQLite.swift es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿SQLite.swift sigue mantenido?
- Mantenimiento activo. El último commit de SQLite.swift fue el 25 oct 2026.
- ¿Para qué puedo usar SQLite.swift?
- Guardar datos locales en una app de iOS o macOS mediante consultas verificadas en tiempo de compilación Crear un servidor Swift o una herramienta de línea de comandos que almacene datos en SQLite en Linux Cifrar una base de datos local con SQLCipher en una app para plataformas Apple
- ¿Cómo se instala SQLite.swift?
- Añade la dependencia SQLite.swift a Package.swift Compila el proyecto con Swift Package Manager: swift build
- ¿Dónde consigo SQLite.swift?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/stephencelis/SQLite.swift
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un ORM y generador de consultas seguro y extensible para Rust, que valida las consultas en tiempo de compilación con PostgreSQL, MySQL, SQLite y MariaDB.
ORM de TypeScript para Node.js que ofrece acceso a bases de datos con seguridad de tipos en PostgreSQL, MySQL, SQLite, MongoDB y otras bases de datos.
Un generador de consultas SQL para TypeScript con seguridad de tipos, que autocompleta tablas, columnas y tipos de resultados en distintas bases de datos SQL.
Un framework de base de datos PHP ligero y de un solo archivo que simplifica las operaciones SQL habituales con una API clara e intuitiva.
ORM para TypeScript y JavaScript en Node.js y otras plataformas JS, compatible con los patrones Active Record y Data Mapper y con numerosas bases de datos SQL y NoSQL.