CSV to SQL Converter - Generate CREATE TABLE and INSERT Statements
CSV to SQL Converter
Turn a spreadsheet export into ready-to-run SQL
Four Databases
Identifiers, string escaping and types follow PostgreSQL, MySQL, SQLite or SQL Server rules.
Type Inference
Integers, decimals with precision, booleans, dates, timestamps and text lengths are detected from the data.
Real CSV Parsing
Quoted fields with commas, quotes and line breaks are handled, and the delimiter is detected for you.
Private
Everything runs in your browser; nothing you paste is uploaded.
From Spreadsheet to Database
Each column's type is chosen from its values: whole numbers become INTEGER (or BIGINT beyond 2,147,483,647), numbers with decimals become DECIMAL/NUMERIC with enough precision and scale, true/false becomes BOOLEAN, YYYY-MM-DD becomes DATE and date-times become TIMESTAMP. Anything else is text sized to the longest value. Values with leading zeros, such as ZIP codes like 01234, stay text so the zeros are kept.
Strings are escaped for the chosen database (MySQL also doubles backslashes), and SQL Server strings get the N prefix so accented characters survive. Inserting many rows per statement is much faster than one INSERT per row, but SQL Server allows at most 1,000 rows in one VALUES list. For very large files, use your database's bulk loader (COPY, LOAD DATA or .import) instead.
Key Takeaways
- Check the types: Adjust inferred types before running on production data.
- Leading zeros kept: Codes like 007 are stored as text.
- Batch inserts: Group rows for speed; use bulk loaders for huge files.