Cómo usar Turso en local: compatibilidad con SQLite, CLI y ejemplos en Rust, Node y Python

Guía práctica de uso local de tursodatabase/turso: instalar la CLI, crear una tabla, insertar y consultar datos, y conectarlo desde Rust, Node.js, Python y Go.

tursodatabase/turso es una base de datos SQL in-process compatible con SQLite. Dicho de forma sencilla, intenta conservar la experiencia ligera e integrada de SQLite, pero convertirla en una herramienta de base de datos más adecuada para aplicaciones modernas y SDKs en varios lenguajes.

Repositorio del proyecto:

https://github.com/tursodatabase/turso

Instalar la CLI

El README instala el installer de la última release así:

1
2
curl --proto '=https' --tlsv1.2 -LsSf \
  https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh

Después de instalar, entra en la CLI:

1
tursodb

Verás un mensaje parecido a:

1
2
3
4
Turso
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database

Probar primero una tabla

Puedes probar SQL directamente en la CLI:

1
2
3
4
CREATE TABLE users (id INT, username TEXT);
INSERT INTO users VALUES (1, 'alice');
INSERT INTO users VALUES (2, 'bob');
SELECT * FROM users;

Salida:

1
2
1|alice
2|bob

Si solo quieres verificar sintaxis y compatibilidad, este paso basta. Después puedes conectarlo a una aplicación.

Ejecutar desde el código fuente

Los desarrolladores pueden ejecutarlo directamente dentro del repositorio:

1
cargo run

El README también ofrece comandos para Docker:

1
2
make docker-cli-build && \
make docker-cli-run

Cómo conectarlo desde aplicaciones

En proyectos Rust, añade la dependencia:

1
cargo add turso

En proyectos Node.js:

1
npm i @tursodatabase/database

En proyectos Python:

1
uv pip install pyturso

En proyectos Go:

1
go install turso.tech/database/tursogo

Casos de uso adecuados

Turso encaja en estos escenarios:

  1. Quieres un estilo SQLite, pero con SDKs multilenguaje más modernos.
  2. Apps locales, herramientas CLI o apps de escritorio necesitan SQL embebido.
  3. Un prototipo no quiere desplegar primero un servicio de base de datos.
  4. Quieres probar opciones compatibles con SQLite y el ecosistema de bases de datos en Rust.

Si necesitas una base de datos distribuida completa, gestión compleja de permisos y operación para equipos grandes, conviene evaluar antes los límites. Turso funciona mejor como punto de entrada ligero a una base de datos, no como una solución que resuelve todos los problemas de bases de datos de una vez.

记录并分享
Creado con Hugo
Tema Stack diseñado por Jimmy