CSVSQL(1) csvkit CSVSQL(1) (NAME) csvsql - SQL CSV (DESCRIPTION) SQL CSV . : usage: csvsql [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b] [-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-L LOCALE] [-S] [--blanks] [--null-value NULL_VALUES [NULL_VALUES ...]] [--date-format DATE_FORMAT] [--datetime-format DATETIME_FORMAT] [-H] [-K SKIP_LINES] [-v] [-l] [--zero] [-V] [-i {firebird,mssql,mysql,oracle,postgresql,sqlite,sybase}] [--db CONNECTION_STRING] [--query QUERIES] [--insert] [--prefix PREFIX] [--before-insert BEFORE_INSERT] [--after-insert AFTER_INSERT] [--tables TABLE_NAMES] [--no-constraints] [--unique-constraint UNIQUE_CONSTRAINT] [--no-create] [--create-if-not-exists] [--overwrite] [--db-schema DB_SCHEMA] [-y SNIFF_LIMIT] [-I] [--chunk-size CHUNK_SIZE] [FILE [FILE ...]] SQL CSV SQL. : FILE () CSV . STDIN . : -h, --help -i {mssql,mysql,oracle,postgresql,sqlite,duckdb,crate,ingres}, --dialect {mssql,mysql,oracle,postgresql,sqlite,duckdb,crate,ingres} SQL . --db . --db CONNECTION_STRING SQLAlchemy SQL . --engine-option ENGINE_OPTION ENGINE_OPTION create_engine() SQLAlchemy . . : thick_mode True --query QUERIES SQL --sql- delimiter CSV. QUERY . --query . --insert . --db . --prefix PREFIX INSERT OR IGNORE OR REPLACE. --before-insert BEFORE_INSERT INSERT SQL --sql-delimiter . --insert . --after-insert AFTER_INSERT INSERT SQL --sql-delimiter . --insert . --sql-delimiter SQL_DELIMITER SQL --query --before-insert --after-insert. --tables TABLE_NAMES . "stdin" . --no-constraints (schema) null. . --unique-constraint UNIQUE_CONSTRAINT UNIQUE. --no-create . --insert . --create-if-not-exists . --insert . --overwrite . --insert . --no-create . --db-schema DB_SCHEMA (schema) () . -y SNIFF_LIMIT, --snifflimit SNIFF_LIMIT CSV . "0" "-1" . -I, --no-inference ( --locale --date-format --datetime-format --no-leading-zeroes) . --chunk-size CHUNK_SIZE (chunk) . --insert . --min-col-len MIN_COL_LEN . --col-len-multiplier COL_LEN_MULTIPLIER . : . SQLAlchemy . PostgreSQL MySQL . : --query ( Python 2) ( Python 3) . : CSV in2csv JSON SQL . : echo '{"a":{"b":"c"},"d":"e"}' | in2csv -f ndjson | csvsql --query 'SELECT "a/b" FROM stdin' : csvsql q textql . (EXAMPLES) SQL PostgreSQL: csvsql -i postgresql examples/realdata/FY09_EDU_Recipients_by_State.csv SQL CSV PostgreSQL: createdb test csvsql --db postgresql:///test --tables fy09 --insert examples/realdata/FY09_EDU_Recipients_by_State.csv . . null --no-constraints : head -n 20 examples/realdata/FY09_EDU_Recipients_by_State.csv | csvsql --no-constraints --tables fy09 CSV PostgreSQL: createdb test csvsql --db postgresql:///test --insert examples/*_converted.csv CSV csvstack : createdb test csvstack examples/dummy?.csv | csvsql --db postgresql:///test --insert CSV SQL csvsql "" CSV . SQLite : csvsql --query "SELECT m.usda_id, avg(i.sepal_length) AS mean_sepal_length FROM iris AS i JOIN irismeta AS m ON (i.species = m.species) GROUP BY m.species" examples/iris.csv examples/irismeta.csv : csvsql --query "SELECT * FROM 'dummy3' GROUP BY a" examples/dummy3.csv : csvsql --query "SELECT a || b FROM 'dummy3'" --no-inference examples/dummy3.csv null COALESCE : csvsql --query "SELECT a || COALESCE(b, '') FROM 'sort_ints_nulls'" --no-inference examples/sort_ints_nulls.csv SQL UPDATE . SELECT : csvsql --query "UPDATE 'dummy3' SET a = 'foo'; SELECT * FROM 'dummy3'" examples/dummy3.csv (AUTHORS) Christopher Groskopf (COPYRIGHT) 2016, Christopher Groskopf and James McKinney 2.2.0 August 16, 2024 CSVSQL(1)