1
0
Fork 0
mirror of https://github.com/tldr-pages/tldr.git synced 2025-07-27 14:55:26 +02:00
tldr/pages/common/trdsql.md
Managor 7b752dc4d3
*: fix curly brace syntax, nested placeholders and mismatched brackets (#17210)
* Update rpicam-still.md

* Update jello.md

* Update dropdb.md

* Update aws-eks.md

* Update sfdisk.md

* Update hyperfine.md

* Update quarto.md

* Update for.md

* Update coproc.md

* Update vagrant-validate.md

* Update kubetail.md

* Update kubetail.md

* Update pstoedit.md

* Update highlight.md

* Update linode-cli-linodes.md

* Update swig.md

* Update phpcbf.md

* Update unzipsfx.md

* Update d8.md

* Update trdsql.md

* Update keyd.md

* Update mamba-repoquery.md

* Update pages/common/jello.md

* Update coproc.md

* Apply suggestions from code review

Co-authored-by: Lena <126529524+acuteenvy@users.noreply.github.com>

* Update pages/common/for.md

Co-authored-by: Lena <126529524+acuteenvy@users.noreply.github.com>

* Update for.md

---------

Co-authored-by: Lena <126529524+acuteenvy@users.noreply.github.com>
2025-07-15 11:17:54 -07:00

1.4 KiB

trdsql

Execute SQL on CSV, LTSV, JSON, YAML, and TBLN files. More information: https://noborus.github.io/trdsql/.

  • Convert object data from multiple JSON files to a CSV file with header (-oh) and double quote:

trdsql -ocsv -oh "SELECT * FROM {{path/to/file/*.json}}" | sed 's/\([^,]*\)/"&"/g' > {{path/to/file.csv}}

  • Interpret JSON list as a table and put objects inside as columns (path/to/file.json: {"list":[{"age":"26","name":"Tanaka"}]}):

trdsql "SELECT * FROM {{path/to/file.json}}::.list"

  • Manipulate complex SQL query with data from multiple CSV files with first line is header (-ih):

trdsql -icsv -ih "SELECT {{column1,column2}} FROM {{path/to/file*.csv}} WHERE column2 != '' ORDER BY column1 GROUP BY column1"

  • Merge content of 2 CSV files to one CSV file:

trdsql "SELECT {{column1,colum2}} FROM {{path/to/file1.csv}} UNION SELECT {{column1,column2}} FROM {{path/to/file2.csv}}"

  • Connect to PostgreSQL database:

trdsql -driver postgres -dsn "host={{hostname}} port={{5433}} dbname={{database_name}}" "SELECT 1"

  • Create table data to MySQL database from CSV file:

trdsql -driver mysql -dsn "{{username}}:{{password}}@{{hostname}}/{{database}}" -ih "CREATE TABLE {{table}} ({{column1}} int, {{colum2}} varchar(20)) AS SELECT {{column3}} AS {{column1}},{{column2}} FROM {{path/to/header_file.csv}}"

  • Show data from compress log files:

trdsql -iltsv "SELECT * FROM {{path/to/access.log.gz}}"