2025-03-14 21:59:59 -06:00
# trdsql
> Ejecuta SQL en archivos CSV, LTSV, JSON, YAML y TBLN.
> Más información: <https://noborus.github.io/trdsql/>.
- Convierte datos de objetos de varios archivos JSON a un archivo CSV con encabezado (`-oh` ) y comillas dobles:
2026-02-18 06:55:01 -07:00
`trdsql -ocsv -oh "SELECT * FROM {{ruta/al/archivo/*.json}}" | sed 's/\([^,]*\)/"&"/g' > {{ruta/al/archivo.csv}}`
2025-03-14 21:59:59 -06:00
- Interpreta una lista JSON como tabla y pone objetos dentro como columnas ( ruta/al/archivo.json: `{"lista":[{"edad":"26", "nombre":"Tanaka"}]}` ):
2026-02-18 06:55:01 -07:00
`trdsql "SELECT * FROM {{ruta/al/archivo.json}}::.list"`
2025-03-14 21:59:59 -06:00
- Manipula una consulta SQL compleja con datos de varios archivos CSV cuya primera línea es la cabecera (`-ih` ):
2026-02-18 06:55:01 -07:00
`trdsql -icsv -ih "SELECT {{columna1,columna2}} FROM {{ruta/al/archivo*.csv}} WHERE column2 != '' ORDER BY {{columna1}} GROUP BY {{columna1}}"`
2025-03-14 21:59:59 -06:00
- Combina el contenido de 2 archivos CSV en un archivo CSV:
`trdsql "SELECT {{columna1,columna2}} FROM {{ruta/al/archivo1.csv}} UNION SELECT {{columna1,columna2}} FROM {{ruta/al/archivo2.csv}}"`
- Se conecta a la base de datos PostgreSQL:
`trdsql -driver postgres -dsn "host={{nombre_del_host}} port={{5433}} dbname={{nombre_de_la_base_de_datos}}" "SELECT 1"`
- Crea una tabla de datos en una base de datos MySQL a partir de un archivo CSV:
2026-02-18 06:55:01 -07:00
`trdsql -driver mysql -dsn "{{usuario}}:{{contraseña}}@{{nombre_del_host}}/{{base_de_datos}}" -ih "CREATE TABLE {{tabla}} ({{columna1}} int, {{columna2}} varchar(20)) AS SELECT {{columna3}} AS {{columna1}},{{columna2}} FROM {{ruta/al/archivo_cabecera.csv}}"`
2025-03-14 21:59:59 -06:00
- Muestra datos de archivos de registro comprimidos:
`trdsql -iltsv "SELECT * FROM {{ruta/a/acceso.log.gz}}"`