Inicio › Herramientas para desarrolladores › Consultar CSV con SQL

Consultar CSV con SQL

Abre uno o varios archivos CSV, Excel, JSON o Parquet y consúltalos con SQL real: filtra, agrupa, une archivos, usa funciones de ventana y exporta el resultado. Todo se ejecuta en tu navegador con DuckDB-WASM, así que tus datos nunca salen de tu computadora.

Última actualización:

Motor: no cargado
Ctrl + Intro para ejecutar
Publicidad
Publicidad

Cómo usar Consultar CSV con SQL

  1. Añade tus archivos con Añadir archivos o soltándolos en la página. Cada archivo se convierte en una tabla con el nombre del archivo; los libros de Excel crean una tabla por hoja.
  2. Revisa el esquema en el panel lateral: nombres de tablas, columnas y tipos detectados. Haz clic en una tabla para ver una vista previa.
  3. Escribe tu SQL en el editor o parte de un ejemplo, p. ej. SELECT country, COUNT(*) FROM customers GROUP BY country.
  4. Ejecuta la consulta con el botón Ejecutar consulta o Ctrl+Intro (Cmd+Intro en Mac). La primera ejecución carga el motor SQL una sola vez (unos pocos MB).
  5. Exporta el resultado en CSV, JSON o Excel, o cópialo para pegarlo en otra herramienta.

Archivos compatibles y cómo se convierten en tablas

ArchivoSe lee conNotas
.csv, .tsv, .txtread_csv_autoEl delimitador, las comillas, el encabezado y los tipos de columna se detectan automáticamente.
.xlsx, .xlsmLector integrado y luego read_csv_autoUna tabla por hoja; la primera fila se usa como nombres de columna.
.json, .ndjson, .jsonlread_json_autoUn array de objetos o un objeto por línea; los objetos anidados se convierten en columnas STRUCT.
.parquetread_parquetEs columnar y tipado, así que es el que más rápido carga y conserva los tipos exactos.

SQL útil de DuckDB para archivos CSV

TareaSQL
Perfilar cada columna (mín., máx., nulos, distintos)SUMMARIZE sales;
Todas las columnas excepto algunasSELECT * EXCLUDE (notes, internal_id) FROM sales;
Agrupar por todas las columnas no agregadasSELECT region, product, SUM(amount) FROM sales GROUP BY ALL;
Primera fila de cada grupoSELECT * FROM sales QUALIFY ROW_NUMBER() OVER (PARTITION BY region ORDER BY amount DESC) = 1;
Interpretar fechas europeasSELECT strptime(day, '%d/%m/%Y')::DATE AS day FROM sales;
Mes a partir de una fechaSELECT date_trunc('month', order_date) AS month, COUNT(*) FROM orders GROUP BY 1;
Pasar filas a columnas (pivot)PIVOT sales ON region USING SUM(amount) GROUP BY product;
Apilar dos archivos con las mismas columnasSELECT * FROM jan UNION ALL BY NAME SELECT * FROM feb;
Búsqueda de texto (sin distinguir mayúsculas)SELECT * FROM customers WHERE name ILIKE '%smith%';

Consejos

  • Pon entre comillas los nombres de columna raros con comillas dobles: SELECT "Order Date", "Unit Price ($)" FROM sales. Los valores de texto usan comillas simples.
  • Crea tablas auxiliares con CREATE TABLE big_orders AS SELECT …; aparecen en el panel lateral y se pueden consultar como los archivos.
  • Varias sentencias separadas por punto y coma se ejecutan en orden; se muestra el resultado de la última.
  • Para explorar un archivo de base de datos existente en lugar de archivos planos, usa el Visor de SQLite. Para ordenar una consulta larga, prueba el Formateador de SQL.

Preguntas frecuentes

¿De verdad puedo ejecutar SQL sobre un archivo CSV sin una base de datos?

Sí. DuckDB-WASM es una base de datos analítica completa compilada a WebAssembly que se ejecuta dentro de la pestaña de tu navegador. Cada archivo que añades se carga en una tabla en memoria, así que puedes usar SQL estándar sin instalación, servidor ni cuenta.

¿Se suben mis archivos a algún sitio?

No. Tu navegador lee los archivos localmente y DuckDB los procesa dentro de la página. Solo el motor SQL se descarga de una CDN pública la primera vez que ejecutas una consulta; tus datos nunca se envían.

¿Cómo se eligen los nombres de las tablas?

El nombre del archivo se pasa a minúsculas y todo lo que no sea una letra, un dígito o un guion bajo se convierte en guion bajo: Sales Report 2025.csv se convierte en sales_report_2025. Los archivos de Excel generan una tabla por hoja, como budget_q1. Los nombres se muestran en el panel lateral y puedes ponerlos entre comillas dobles.

¿Cómo uno dos archivos CSV?

Añade ambos archivos y usa un join normal sobre la columna compartida: SELECT * FROM orders o JOIN customers c ON o.customer_id = c.customer_id. Si los nombres de columna son idénticos, también puedes escribir JOIN customers USING (customer_id).

¿Qué dialecto de SQL se usa?

El SQL de DuckDB, que es muy parecido a PostgreSQL. Además del SQL estándar, admite extras útiles como SELECT * EXCLUDE (col), GROUP BY ALL, QUALIFY para filtrar funciones de ventana, PIVOT, y funciones como strftime, regexp_matches y list_aggregate.

¿Qué tamaño pueden tener mis archivos?

Depende de la memoria de tu dispositivo. Los archivos de unos cientos de MB suelen funcionar en navegadores de escritorio, y Parquet es mucho más compacto que CSV. En pantalla se muestran hasta 1,000 filas de resultados, mientras que las exportaciones incluyen todas las filas.

¿Por qué algunas columnas se detectan como texto?

DuckDB toma una muestra del archivo para adivinar el tipo de cada columna. Los valores mixtos, como números con unidades o formatos de fecha inconsistentes, se conservan como VARCHAR. Conviértelos en la consulta, por ejemplo CAST(price AS DOUBLE) o strptime(day, '%d/%m/%Y').

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Conversores de datos y formatos de archivo →