Skip to content

Latest commit

 

History

History
347 lines (346 loc) · 14.4 KB

sql-based.md

File metadata and controls

347 lines (346 loc) · 14.4 KB

SQL-based tools

  • AlaSQL CLI
    • Documentation link: https://github.com/agershun/alasql/wiki/AlaSQL-CLI
    • Programming language: JavaScript
    • Database: AlaSQL
    • Column names from header row: yes, optional
    • Custom character encoding: no
    • Custom input field separator: yes, string
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes, JavaScript
    • Input formats: lines, DSV, XLS, XLSX, HTML tables, JSON
    • Output formats: lines, DSV, XLS, XLSX, HTML tables, JSON
    • Custom table names: yes
    • Custom column names: yes
    • Keep database file: n/a
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: yes, can create custom table then import into it
    • SQL dump: yes
    • Other:
  • csvq
    • Documentation link: https://mithrandie.github.io/csvq/reference
    • Programming language: Go
    • Database: custom SQL interpreter
    • Column names from header row: yes, optional
    • Custom character encoding: yes, input and output
    • Custom input field separator: yes, character
    • Custom input record separator: no
    • Custom output field separator: yes
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes, Go
    • Input formats: CSV, TSV, LTSV, fixed-width, JSON
    • Output formats: CSV, TSV, LTSV, fixed-width, JSON, Markdown-style table, Org-mode, ASCII table
    • Custom table names: yes
    • Custom column names: yes
    • Keep database file: n/a
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: yes, ALTER TABLE
    • SQL dump: no
    • Other:
  • csvsql
    • Documentation link: http://csvkit.readthedocs.io/en/latest/
    • Programming language: Python
    • Database: Firebird/MS SQL/MySQL/Oracle/PostgreSQL/SQLite 3/Sybase
    • Column names from header row: yes, optional
    • Custom character encoding: yes, input and output
    • Custom input field separator: yes, string
    • Custom input record separator: no
    • Custom output field separator: yes
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes, Python
    • Input formats: delimited without quotes, DSV, Excel, JSON, SQL, fixed-width, DBF, and others (separate converters)
    • Output formats: delimited without quotes, DSV, JSON, Markdown-style table, SQL (separate converters)
    • Custom table names: yes
    • Custom column names: no
    • Keep database file: yes
    • Skip input fields: yes (separate tool)
    • Skip input records (lines): no
    • Merge input fields: no?
    • Database table customization: yes, UNIQUE constraints, database schema name, automatic column datatype or text
    • SQL dump: yes
    • Other:
  • DuckDB
    • Documentation link: https://duckdb.org/docs/
    • Programming language: C++
    • Database: DuckDB
    • Column names from header row: yes, optional
    • Custom character encoding: no, only UTF-8
    • Custom input field separator: yes, string
    • Custom input record separator: no
    • Custom output field separator: yes
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes, C, C++, JavaScript, Python, and other languages
    • Input formats: DSV, Excel, JSON, SQL, Parquet
    • Output formats: DSV, Excel, JSON, SQL, Parquet
    • Custom table names: yes
    • Custom column names: yes
    • Keep database file: yes
    • Skip input fields: yes
    • Skip input records (lines): yes
    • Merge input fields: no
    • Database table customization: yes, CREATE TABLE
    • SQL dump: yes
    • Other:
  • fsql
    • Documentation link: https://metacpan.org/pod/distribution/App-fsql/bin/fsql
    • Programming language: Perl
    • Database: custom SQL interpreter
    • Column names from header row: yes, always
    • Custom character encoding: no
    • Custom input field separator: no
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes, Perl
    • Input formats: CSV, TSV, LTSV, Perl, JSON, YAML
    • Output formats: CSV, TSV, LTSV, Perl, JSON, YAML
    • Custom table names: yes
    • Custom column names: no
    • Keep database file: no
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: no
    • SQL dump: no
    • Other:
  • q
    • Documentation link: https://github.com/harelba/q/blob/master/doc/USAGE.markdown
    • Programming language: Python
    • Database: SQLite 3
    • Column names from header row: yes, optional
    • Custom character encoding: yes, input and output
    • Custom input field separator: yes, string
    • Custom input record separator: no
    • Custom output field separator: yes
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes, Python
    • Input formats: delimited without quotes, DSV
    • Output formats: delimited without quotes, DSV, custom using Python formatting string
    • Custom table names: no
    • Custom column names: no
    • Keep database file: yes
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: yes, automatic column datatype or text
    • SQL dump: no
    • Other:
  • RBQL
    • Documentation link: https://rbql.org/
    • Programming language: JavaScript, Python
    • Database: custom SQL interpreter
    • Column names from header row: yes, optional
    • Custom character encoding: yes, input
    • Custom input field separator: yes, string
    • Custom input record separator: no
    • Custom output field separator: yes
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes, JavaScript and Python
    • Input formats: DSV
    • Output formats: DSV
    • Custom table names: no
    • Custom column names: no
    • Keep database file: n/a
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: no
    • SQL dump: no
    • Other:
  • rows
    • Documentation link: http://turicas.info/rows/command-line-interface.html
    • Programming language: Python
    • Database: SQLite 3
    • Column names from header row: yes, always?
    • Custom character encoding: no
    • Custom input field separator: no
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: no
    • Use as library: yes, Python
    • Input formats: CSV, JSON, XLS, XLSX, ODS, and others
    • Output formats: CSV, JSON, XLS, XLSX, ODS, and others
    • Custom table names: no
    • Custom column names: no
    • Keep database file: no
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: no
    • SQL dump: no
    • Other:
  • Sqawk
    • Documentation link: https://github.com/dbohdan/sqawk#options
    • Programming language: Tcl
    • Database: SQLite 3
    • Column names from header row: yes, optional
    • Custom character encoding: no
    • Custom input field separator: yes, regexp, per-file
    • Custom input record separator: yes, regexp, per-file
    • Custom output field separator: yes
    • Custom output record separator: yes
    • JOINs: yes
    • Use as library: yes, Tcl
    • Input formats: delimited without quotes, DSV, Tcl
    • Output formats: delimited without quotes, CSV, JSON, ASCII/Unicode table, Tcl
    • Custom table names: yes
    • Custom column names: yes
    • Keep database file: yes
    • Skip input fields: yes, any
    • Skip input records (lines): no
    • Merge input fields: yes, any consecutive
    • Database table customization: yes, column datatypes
    • SQL dump: no
    • Other:
  • sqawk
    • Documentation link: https://github.com/tjunier/sqawk/blob/master/sqawk.1
    • Programming language: C
    • Database: SQLite 3
    • Column names from header row: yes, optional
    • Custom character encoding: no
    • Custom input field separator: yes, string, per-file
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: no
    • Input formats: DSV
    • Output formats: CSV
    • Custom table names: yes
    • Custom column names: no
    • Keep database file: yes
    • Skip input fields: no
    • Skip input records (lines): yes, until regexp matches
    • Merge input fields: no
    • Database table customization: yes, primary key, indexes, foreign key constraints, automatic column datatype or text
    • SQL dump: yes
    • Other: chunked mode (read and process only N lines at a time)
  • Squawk
    • Documentation link: <>
    • Programming language: Python
    • Database: custom SQL interpreter
    • Column names from header row: yes, always
    • Custom character encoding: no
    • Custom input field separator: no
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: no
    • Use as library: yes, Python
    • Input formats: CSV, Apache and Nginx log files
    • Output formats: table, CSV, JSON
    • Custom table names: no
    • Custom column names: no
    • Keep database file: no
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: no
    • SQL dump: yes
    • Other:
  • termsql
    • Documentation link: http://tobimensch.github.io/termsql/
    • Programming language: Python
    • Database: SQLite 3
    • Column names from header row: yes, optional
    • Custom character encoding: no
    • Custom input field separator: yes, regexp
    • Custom input record separator: no
    • Custom output field separator: yes
    • Custom output record separator: no
    • JOINs: no
    • Use as library: no
    • Input formats: DSV, “vertical” DSV (lines as columns)
    • Output formats: delimited without quotes, CSV, TSV, HTML, SQL, Tcl
    • Custom table names: yes
    • Custom column names: yes
    • Keep database file: yes
    • Skip input fields: no
    • Skip input records (lines): yes, N first and M last
    • Merge input fields: yes, Nth to last
    • Database table customization: yes, primary key
    • SQL dump: yes
    • Other:
  • trdsql
    • Documentation link: https://github.com/noborus/trdsql#usage
    • Programming language: Go
    • Database: MySQL/PostgreSQL/SQLite 3
    • Column names from header row: yes, optional
    • Custom character encoding: no
    • Custom input field separator: yes, string
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: no
    • Input formats: CSV, LTSV, JSON
    • Output formats: delimited without quotes, CSV, LTSV, JSON, ASCII table, Markdown
    • Custom table names: no
    • Custom column names: no
    • Keep database file: yes
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: no
    • SQL dump: no
    • Other:
  • textql
    • Documentation link: https://github.com/dinedal/textql#usage
    • Programming language: Go
    • Database: SQLite 3
    • Column names from header row: yes, optional
    • Custom character encoding: no
    • Custom input field separator: yes, string
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: no
    • Use as library: no
    • Input formats: DSV
    • Output formats: DSV
    • Custom table names: no
    • Custom column names: no
    • Keep database file: yes
    • Skip input fields: no
    • Skip input records (lines): no
    • Merge input fields: no
    • Database table customization: no
    • SQL dump: no
    • Other:
  • Musoq
    • Documentation link: https://github.com/Puchaczov/Musoq
    • Programming language: C#
    • Database: custom SQL interpreter
    • Column names from header row: yes, optional
    • Custom character encoding: no
    • Custom input field separator: depends on the data source
    • Custom input record separator: no
    • Custom output field separator: no
    • Custom output record separator: no
    • JOINs: yes
    • Use as library: yes
    • Input formats: various
    • Output formats: CSV, JSON
    • Custom table names: no
    • Custom column names: no
    • Keep database file: no
    • Skip input fields: yes
    • Skip input records (lines): no
    • Merge input fields: yes
    • Database table customization: no
    • SQL dump: no
    • Other: