trdsql.md 1.6 KB

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:

trdsql -ocsv -oh "SELECT * FROM {{ruta/al/archivo/*.json}}" | sed 's/\([^,]*\)/«&»/g' > {{ruta/al/archivo.csv}}

  • Interpreta una lista JSON como tabla y pone objetos dentro como columnas ( ruta/al/archivo.json: {"lista":[{"edad":"26", "nombre":"Tanaka"}]}):

trdsql "SELECT * FROM {{ruta/al/archivo.json}}::.list

  • Manipula una consulta SQL compleja con datos de varios archivos CSV cuya primera línea es la cabecera (-ih):

trdsql -icsv -ih "SELECT {{columna1,columna2}} FROM {{ruta/al/archivo*.csv}} WHERE column2 != '' ORDER BY columna1 GROUP BY columna1"

  • 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:

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/a/archivo_cabecera.csv}}"

  • Muestra datos de archivos de registro comprimidos:

trdsql -iltsv "SELECT * FROM {{ruta/a/acceso.log.gz}}"