DOKK / manpages / debian 12 / csvkit / csvsql.1.en
CSVSQL(1) User Commands CSVSQL(1)

csvsql - manual page for csvsql 1.0.7

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] [--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 QUERY] [--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 ...]

Generate SQL statements for one or more CSV files, or execute those statements directly on a database, and execute one or more SQL queries.

The CSV file(s) to operate on. If omitted, will accept input as piped data via STDIN.

show this help message and exit
Delimiting character of the input CSV file.
Specify that the input CSV file is delimited with tabs. Overrides "-d".
Character used to quote strings in the input CSV file.
Quoting style used in the input CSV file. 0 = Quote Minimal, 1 = Quote All, 2 = Quote Non-numeric, 3 = Quote None.
Whether or not double quotes are doubled in the input CSV file.
Character used to escape the delimiter if --quoting 3 ("Quote None") is specified and to escape the QUOTECHAR if --no-doublequote is specified.
Maximum length of a single field in the input CSV file.
Specify the encoding of the input CSV file.
Specify the locale (en_US) of any formatted numbers.
Ignore whitespace immediately following the delimiter.
Do not convert "", "na", "n/a", "none", "null", "." to NULL.
Specify a strptime date format string like "%m/%d/%Y".
Specify a strptime datetime format string like "%m/%d/%Y %I:%M %p".
Specify that the input CSV file has no header row. Will create default headers (a,b,c,...).
Specify the number of initial lines to skip before the header row (e.g. comments, copyright notices, empty rows).
Print detailed tracebacks when errors occur.
Insert a column of line numbers at the front of the output. Useful when piping to grep or as a simple primary key.
When interpreting or displaying column numbers, use zero-based numbering instead of the default 1-based numbering.
Display version information and exit.
Dialect of SQL to generate. Cannot be used with --db.
If present, a SQLAlchemy connection string to use to directly execute generated SQL on a database.
Execute one or more SQL queries delimited by ";" and output the result of the last query as CSV. QUERY may be a filename.
Insert the data into the table. Requires --db.
Add an expression following the INSERT keyword, like OR IGNORE or OR REPLACE.
Execute SQL before the INSERT command. Requires --insert.
Execute SQL after the INSERT command. Requires --insert.
A comma-separated list of names of tables to be created. By default, the tables will be named after the filenames without extensions or "stdin".
Generate a schema without length limits or null checks. Useful when sampling big tables.
A column-separated list of names of columns to include in a UNIQUE constraint.
Skip creating the table. Requires --insert.
Create the table if it does not exist, otherwise keep going. Requires --insert.
Drop the table if it already exists. Requires --insert. Cannot be used with --no-create.
Optional name of database schema to create table(s) in.
Limit CSV dialect sniffing to the specified number of bytes. Specify "0" to disable sniffing entirely, or "-1" to sniff the entire file.
Disable type inference when parsing the input.
Chunk size for batch insert into the table. Requires --insert.

The full documentation for csvsql is maintained as a Texinfo manual. If the info and csvsql programs are properly installed at your site, the command

info csvsql

should give you access to the complete manual.

March 2022 csvsql 1.0.7