# 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.
```bash
csv-sql [FILE_PATHS]...
```
#### Generate only the schema without inserting data
```bash
csv-sql --schema-only [FILE_PATHS]...
```
#### See all options
```bash
csv-sql --help
```
### Development
Use [just](https://github.com/casey/just) for easy development.
#### See all available commands
```bash
just -l
```
#### Build and run
```bash
just run ~/Dir/file.csv
just run "--schema-only ~/Dir/file.csv ~/Dir/file2.csv ~/Dir/file3.csv"
```
#### Clear all *.sql files in current directory
```bash
just clear
```
### TODO
- [x] Generate SQL table creation statements from CSV files with headers and TEXT data types
- [x] Output to stdout
- [x] Schema only without inserting data
- [ ] merge multiple CSV files into one SQL table
- [ ] Automatic data type detection
- [ ] Custom data types
- [ ] Primary keys
- [ ] Constraints
- [ ] Foreign keys
### Contact
- [Email: jakub@stiburek.dev](mailto:jakub@stiburek.dev)
- [LI: Jakub Stiburek](https://www.linkedin.com/in/jakubstiburekdev/)