#csv #table #primary-key #sql #generate #merge #statement

app csv-sql

A simple CLI tool to generate SQL tables from CSV files

6 releases (3 breaking)

0.4.0 Aug 19, 2023
0.3.0 Aug 18, 2023
0.2.0 Aug 18, 2023
0.1.2 Aug 14, 2023

#498 in Database interfaces

MIT license

14KB
288 lines

CSV-SQL

A simple CLI tool to generate SQL tables from CSV files

  • CSV-SQL will generate SQL table creation statements from CSV files, currently with TEXT data types only.
  • CSV-SQL outputs to stdout. You can redirect the output to a file.

Usage

Generate SQL table creation statements from CSV files

  • The name of the CSV file will be used as the name of the table.
csv-sql [FILE_PATHS]...

Generate only the schema without inserting data

csv-sql --schema-only [FILE_PATHS]...

Add a serial primary key

csv-sql --primary-key=smallint [FILE_PATHS]...
csv-sql --primary-key=integer [FILE_PATHS]...
csv-sql --primary-key=bigint [FILE_PATHS]...

Merge multiple tables into one

csv-sql --merge [FILE_PATHS]...

Redirect output to a file

csv-sql [FILE_PATHS]... > output.sql

See all options

csv-sql --help

Development

Use just for easy development.

See all available commands

just -l

Build and run

just dev ~/Dir/file.csv
just dev "--schema-only ~/Dir/file.csv ~/Dir/file2.csv ~/Dir/file3.csv"

Clear all *.sql files in current directory

just clear

TODO

  • Generate SQL table creation statements from CSV files with headers and TEXT data types
  • Output to stdout
  • Schema only without inserting data
  • merge multiple CSV files into one SQL table
  • Automatic data type detection
  • Custom data types
  • Primary keys
    • Auto increment
    • Custom
  • Constraints
  • Foreign keys

Contact

Dependencies

~3–14MB
~109K SLoC