.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .TH CSVSQL "1" "March 2023" "csvsql 1.1.1" "User Commands" .SH NAME csvsql \- manual page for csvsql 1.1.1 .SH DESCRIPTION usage: csvsql [\-h] [\-d DELIMITER] [\-t] [\-q QUOTECHAR] [\-u {0,1,2,3}] [\-b] .IP [\-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 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 ...] .PP Generate SQL statements for one or more CSV files, or execute those statements directly on a database, and execute one or more SQL queries. .SS "positional arguments:" .TP FILE The CSV file(s) to operate on. If omitted, will accept input as piped data via STDIN. .SS "options:" .TP \fB\-h\fR, \fB\-\-help\fR show this help message and exit .TP \fB\-d\fR DELIMITER, \fB\-\-delimiter\fR DELIMITER Delimiting character of the input CSV file. .TP \fB\-t\fR, \fB\-\-tabs\fR Specify that the input CSV file is delimited with tabs. Overrides "\-d". .TP \fB\-q\fR QUOTECHAR, \fB\-\-quotechar\fR QUOTECHAR Character used to quote strings in the input CSV file. .TP \fB\-u\fR {0,1,2,3}, \fB\-\-quoting\fR {0,1,2,3} Quoting style used in the input CSV file. 0 = Quote Minimal, 1 = Quote All, 2 = Quote Non\-numeric, 3 = Quote None. .TP \fB\-b\fR, \fB\-\-no\-doublequote\fR Whether or not double quotes are doubled in the input CSV file. .TP \fB\-p\fR ESCAPECHAR, \fB\-\-escapechar\fR ESCAPECHAR Character used to escape the delimiter if \fB\-\-quoting\fR 3 ("Quote None") is specified and to escape the QUOTECHAR if \fB\-\-no\-doublequote\fR is specified. .TP \fB\-z\fR FIELD_SIZE_LIMIT, \fB\-\-maxfieldsize\fR FIELD_SIZE_LIMIT Maximum length of a single field in the input CSV file. .TP \fB\-e\fR ENCODING, \fB\-\-encoding\fR ENCODING Specify the encoding of the input CSV file. .TP \fB\-L\fR LOCALE, \fB\-\-locale\fR LOCALE Specify the locale (en_US) of any formatted numbers. .TP \fB\-S\fR, \fB\-\-skipinitialspace\fR Ignore whitespace immediately following the delimiter. .TP \fB\-\-blanks\fR Do not convert "", "na", "n/a", "none", "null", "." to NULL. .TP \fB\-\-date\-format\fR DATE_FORMAT Specify a strptime date format string like "%m/%d/%Y". .TP \fB\-\-datetime\-format\fR DATETIME_FORMAT Specify a strptime datetime format string like "%m/%d/%Y %I:%M %p". .TP \fB\-H\fR, \fB\-\-no\-header\-row\fR Specify that the input CSV file has no header row. Will create default headers (a,b,c,...). .TP \fB\-K\fR SKIP_LINES, \fB\-\-skip\-lines\fR SKIP_LINES Specify the number of initial lines to skip before the header row (e.g. comments, copyright notices, empty rows). .TP \fB\-v\fR, \fB\-\-verbose\fR Print detailed tracebacks when errors occur. .TP \fB\-l\fR, \fB\-\-linenumbers\fR Insert a column of line numbers at the front of the output. Useful when piping to grep or as a simple primary key. .TP \fB\-\-zero\fR When interpreting or displaying column numbers, use zero\-based numbering instead of the default 1\-based numbering. .TP \fB\-V\fR, \fB\-\-version\fR Display version information and exit. .TP \fB\-i\fR {firebird,mssql,mysql,oracle,postgresql,sqlite,sybase}, \fB\-\-dialect\fR {firebird,mssql,mysql,oracle,postgresql,sqlite,sybase} Dialect of SQL to generate. Cannot be used with \fB\-\-db\fR. .TP \fB\-\-db\fR CONNECTION_STRING If present, a SQLAlchemy connection string to use to directly execute generated SQL on a database. .TP \fB\-\-query\fR QUERIES Execute one or more SQL queries delimited by ";" and output the result of the last query as CSV. QUERY may be a filename. \fB\-\-query\fR may be specified multiple times. .TP \fB\-\-insert\fR Insert the data into the table. Requires \fB\-\-db\fR. .TP \fB\-\-prefix\fR PREFIX Add an expression following the INSERT keyword, like OR IGNORE or OR REPLACE. .TP \fB\-\-before\-insert\fR BEFORE_INSERT Execute SQL before the INSERT command. Requires \fB\-\-insert\fR. .TP \fB\-\-after\-insert\fR AFTER_INSERT Execute SQL after the INSERT command. Requires \fB\-\-insert\fR. .TP \fB\-\-tables\fR TABLE_NAMES 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". .TP \fB\-\-no\-constraints\fR Generate a schema without length limits or null checks. Useful when sampling big tables. .TP \fB\-\-unique\-constraint\fR UNIQUE_CONSTRAINT A column\-separated list of names of columns to include in a UNIQUE constraint. .TP \fB\-\-no\-create\fR Skip creating the table. Requires \fB\-\-insert\fR. .TP \fB\-\-create\-if\-not\-exists\fR Create the table if it does not exist, otherwise keep going. Requires \fB\-\-insert\fR. .TP \fB\-\-overwrite\fR Drop the table if it already exists. Requires \fB\-\-insert\fR. Cannot be used with \fB\-\-no\-create\fR. .TP \fB\-\-db\-schema\fR DB_SCHEMA Optional name of database schema to create table(s) in. .TP \fB\-y\fR SNIFF_LIMIT, \fB\-\-snifflimit\fR SNIFF_LIMIT Limit CSV dialect sniffing to the specified number of bytes. Specify "0" to disable sniffing entirely, or "\-1" to sniff the entire file. .TP \fB\-I\fR, \fB\-\-no\-inference\fR Disable type inference when parsing the input. .TP \fB\-\-chunk\-size\fR CHUNK_SIZE Chunk size for batch insert into the table. Requires \fB\-\-insert\fR. .SH "SEE ALSO" The full documentation for .B csvsql is maintained as a Texinfo manual. If the .B info and .B csvsql programs are properly installed at your site, the command .IP .B info csvsql .PP should give you access to the complete manual.