How to use CSV to SQL
- Paste the CSV (header row required).
- Set the table name, dialect, primary key and batch size.
- Copy the DDL and INSERT statements into your migration or seed script.
CSV to SQL features
- Detects the delimiter (comma, semicolon, tab, pipe) automatically
- Infers INT, BIGINT, DECIMAL, BOOLEAN, DATE, TIMESTAMP, UUID and VARCHAR(n)
- Generates CREATE TABLE with NOT NULL and an optional PRIMARY KEY
- Batched multi-row INSERTs with dialect-correct literals
- Column names normalised to safe snake_case identifiers
- Schema table shows every inferred type for review
CSV to SQL example
Infer a schema
Input:
id,email,signed_up,score
1,layla@example.com,2026-03-14,87.5Output:
CREATE TABLE IF NOT EXISTS users (
id INT NOT NULL,
email VARCHAR(40) NOT NULL,
signed_up DATE NOT NULL,
score DECIMAL(3,1) NOT NULL
);
INSERT INTO users (id, email, signed_up, score) VALUES
(1, 'layla@example.com', '2026-03-14', 87.5);Frequently asked questions about CSV to SQL
How are column types inferred?
Every value in a column is inspected. Integers become INT/BIGINT, decimals DECIMAL(p,s), true/false BOOLEAN (or BIT/TINYINT(1)), ISO dates DATE/TIMESTAMP, UUIDs UUID/CHAR(36), and the rest VARCHAR sized to the longest value. Mixed columns fall back to text.
What happens to column names with spaces or symbols?
They are converted to snake_case identifiers ("Order ID" → order_id) and quoted when they collide with reserved words. The schema table shows the mapping.
Can I skip CREATE TABLE?
Yes, untick "Include CREATE TABLE" when the table already exists.
Is there a size limit?
Files up to 2 MB are processed in the browser. For larger imports, use your database's native bulk loader (LOAD DATA, COPY, BULK INSERT).