SQL online - IDE, editor, compilador, intérprete

Practica SQL online: crea tablas, inserta datos y ejecuta consultas sobre una base de datos SQLite real en tu navegador. Los resultados aparecen en tablas.

SQLite 3 (sql.js) · Se ejecuta en tu navegador, así que tu código nunca llega a nuestros servidores.
main.sqlSQL
Salida

            
        
Ctrl/⌘ + Enter para ejecutar

Funciones del compilador de SQL online (IDE, editor & intérprete)

Escribe, ejecuta y prueba código SQL online y gratis. Esta página funciona como IDE, editor de código, compilador e intérprete de SQL online, todo en uno: escribe tu código, pulsa Ejecutar y verás el resultado al momento. Todo se ejecuta en tu navegador, sin nada que instalar ni cuentas que crear.

  • Ejecuta código al instante: SQLite 3 (sql.js), con resultados en menos de un segundo tras la primera carga.
  • Editor de código: resaltado de sintaxis, números de línea, emparejamiento de corchetes y cierre automático de corchetes.
  • Errores claros: los mensajes de error y las advertencias aparecen en el panel de salida, igual que en tu propio ordenador.
  • Pantalla completa: Ctrl/⌘ + Shift + F, tamaño de fuente ajustable, diseño en paralelo o apilado y paneles redimensionables.
  • Guardado automático: tu código se guarda en tu navegador; descárgalo como main.sql o cópialo con un clic.
  • Experimenta sin riesgo: un límite de tiempo y un botón Detener acaban con los bucles infinitos.
  • Privado: el entorno de ejecución de SQL funciona en tu dispositivo, así que tu código nunca se sube.
  • Modo oscuro y atajos de teclado: Ctrl/⌘ + Enter ejecuta el código.
  • Gratis: sin registro y sin límites de uso.

Aprende otros lenguajes de programación

Cómo usar el compilador SQL online

  1. Escribe tu SQL en el editor. Puedes crear tablas (CREATE TABLE), añadir datos (INSERT) y consultarlos (SELECT) en un solo script. Separa las sentencias con punto y coma.
  2. Pulsa Ejecutar o usa Ctrl + Intro (⌘ + Intro en un Mac).
  3. Cada sentencia que devuelve filas se muestra como su propia tabla de resultados, en orden, con el número de filas debajo. Los valores NULL se indican como tales. Si ninguna sentencia devuelve filas, verás en su lugar una breve confirmación.
  4. Elige un límite de tiempo de 5, 15 o 60 segundos, útil para consultas recursivas que se descontrolan. Detener cancela una consulta al instante.

El motor SQLite es pequeño, muy por debajo de 1 MB, así que se carga casi al instante. Restablecer ejemplo recupera el esquema de ejemplo de empleados, y main.sql descarga tu script.

Tus consultas se ejecutan en un Web Worker en tu propio navegador. Ni el SQL ni los datos se suben ni se guardan en nuestros servidores. El editor conserva tu último script en el almacenamiento local de tu navegador, y en ningún otro sitio.

Qué admite

El compilador ejecuta SQLite 3 mediante sql.js, la biblioteca C de SQLite compilada a WebAssembly. Es un motor de base de datos relacional real, no un emulador.

  • DDL y DML: CREATE TABLE, CREATE INDEX, CREATE VIEW, INSERT, UPDATE, DELETE, restricciones, claves foráneas y triggers.
  • Consultas: joins, subconsultas, GROUP BY/HAVING, UNION, CASE y expresiones de tabla comunes (CTE), incluido WITH RECURSIVE.
  • Funciones de ventana como ROW_NUMBER(), RANK(), LAG() y totales acumulados con SUM() OVER (...).
  • Funciones integradas para texto (substr, upper, replace), números y fechas (date, strftime).

Limitaciones:

  • Una base de datos en memoria nueva y vacía en cada ejecución. Las tablas no se conservan entre ejecuciones, así que deja tus sentencias CREATE e INSERT al principio del script.
  • Es SQLite, no MySQL ni PostgreSQL. La mayor parte del SQL estándar funciona, pero no las características propias de cada sistema, como los procedimientos almacenados, GRANT, la palabra clave AUTO_INCREMENT de MySQL o el tipo SERIAL de PostgreSQL.
  • En los conjuntos de resultados grandes se muestran las primeras 1.000 filas, junto con el número total de filas.
  • No puedes conectarte a una base de datos externa ni abrir tu propio archivo .db.

Referencia rápida de SQL

CREATE TABLE orders (
  id       INTEGER PRIMARY KEY,
  customer TEXT NOT NULL,
  amount   REAL,
  placed   TEXT DEFAULT (date('now'))
);

INSERT INTO orders (customer, amount) VALUES
  ('Ada', 120.0), ('Ada', 35.5), ('Grace', 80.0);

WITH totals AS (
  SELECT customer, SUM(amount) AS spent, COUNT(*) AS n
  FROM orders
  GROUP BY customer
)
SELECT customer, spent, n
FROM totals
WHERE spent >= 50 AND n <> 0
ORDER BY spent DESC;
TareaSQL
Clave autonuméricaid INTEGER PRIMARY KEY
Filtrar filasWHERE price BETWEEN 10 AND 20
Buscar por patrónWHERE name LIKE 'A%'
Concatenar textofirst || ' ' || last
PaginarLIMIT 10 OFFSET 20
Sustituir NULLCOALESCE(phone, 'n/a')
Insertar o actualizarINSERT ... ON CONFLICT(id) DO UPDATE SET ...

Consejos

  • Usa sqlite_master para ver lo que has creado: SELECT name, sql FROM sqlite_master;
  • Usa EXPLAIN QUERY PLAN SELECT ... para ver si una consulta usa un índice.
  • SQLite usa tipado flexible: una columna declarada como INTEGER puede guardar texto igualmente. Añade restricciones CHECK, o usa tablas STRICT, cuando quieras que se respeten los tipos.
  • Las claves foráneas solo se aplican después de PRAGMA foreign_keys = ON;.
  • ¿Una consulta larga y desordenada? Ordénala con el formateador de SQL antes de compartirla.
Consejo: Agrupa las inserciones repetidas entre BEGIN; … COMMIT;. Generar datos de prueba con una CTE recursiva es una forma rápida de llenar una tabla con miles de filas para practicar.

Preguntas frecuentes

¿Qué dialecto de SQL usa?

SQLite 3. Sigue de cerca el SQL estándar, así que es muy adecuado para aprender SELECT, joins, agrupaciones y funciones de ventana. La sintaxis propia de MySQL, PostgreSQL o SQL Server puede necesitar pequeños cambios.

¿Se guardan mis datos?

No. Cada ejecución crea una base de datos nueva en memoria, que se elimina en cuanto termina la ejecución. Solo se recuerda el texto SQL del editor, localmente en tu navegador.

¿Puedo ejecutar varias consultas a la vez?

Sí. Sepáralas con punto y coma. Las sentencias se ejecutan en orden, y cada una que devuelve filas genera su propia tabla de resultados.

¿Puedo practicar también con otros lenguajes?

Sí. Prueba el compilador de Python online, donde también funciona el módulo integrado sqlite3 de Python, o explora todas nuestras herramientas para desarrolladores.

Actualizado

Copiado al portapapeles