CSV to SQL Converter
Convert CSV data into SQL CREATE TABLE and INSERT statements with dialect-specific syntax, auto type detection, and batch inserts.
CSV Input
SQL Output
CSV to SQL Converter
Convert CSV data into SQL CREATE TABLE and INSERT statements with dialect-specific syntax, auto type detection, and batch inserts.
Features
- Parse CSV (with quoted fields and embedded commas) and emit valid INSERT statements
- SQL dialect selector: MySQL, PostgreSQL, SQLite, SQL Server (handles identifier quoting and string escaping per dialect)
- Single quotes in values are escaped per dialect (`O'Brien` → `O''Brien` standard / `O\'Brien` MySQL)
- Type inference: integer / decimal / boolean / date / string; emit values without quotes for non-strings
- Empty cells become NULL when "treat empty as NULL" is enabled
- Batch INSERT mode emits one statement with multiple value rows for efficiency
How to use
- Cole seus dados CSV na área de entrada ou carregue dados de exemplo.
- Configure o nome da tabela, o delimitador e o caractere de aspas, se necessário.
- Selecione seu dialeto SQL de destino (MySQL, PostgreSQL, SQLite ou SQL Server).
- Escolha o modo de saída: CREATE + INSERT, apenas INSERT ou apenas CREATE.
- Ative a inserção em lote, a detecção automática de tipos e NULL para valores vazios.
- Copie o SQL gerado para a área de transferência.
Tips & Best Practices
- For production data import, always validate the dialect output against your target database — escape rules differ subtly across MySQL/Postgres/SQLite/SQL Server.
- Reserved-word column names are auto-quoted (`order`, `select`, etc.) so they don't collide with SQL keywords.
- Batch INSERT is ~10× faster than per-row INSERTs for large imports — most databases accept up to ~1000 rows per statement.
- Date parsing accepts ISO 8601 (YYYY-MM-DD) and MM/DD/YYYY. Other formats fall through as strings — you may need to reformat first.
- Embedded quotes inside CSV cells must already be properly escaped (double-doubled) in the input; the tool then re-escapes for SQL.
FAQ
Quais dialetos SQL são suportados?
MySQL, PostgreSQL, SQLite e SQL Server. Cada dialeto gera a sintaxe adequada, incluindo a delimitação de identificadores (crases, aspas duplas ou colchetes) e tipos de coluna específicos do dialeto.
Como funciona a detecção automática de tipos?
A ferramenta analisa todos os valores em cada coluna para determinar o melhor tipo SQL. Ela detecta inteiros, números de ponto flutuante, booleanos (true/false/yes/no), datas (formato ISO) e usa texto como padrão para tudo o mais.
O que faz a inserção em lote?
Em vez de gerar instruções INSERT separadas para cada linha, a inserção em lote agrupa várias linhas em uma única instrução INSERT com múltiplas tuplas de valores. Isso é muito mais rápido para importações de banco de dados.
Como os valores vazios são tratados?
Quando 'NULL para vazio' está ativado, os campos CSV vazios são convertidos em NULL do SQL. Caso contrário, os campos de texto vazios se tornam strings vazias e os campos numéricos vazios se tornam 0.
Meus dados são privados?
Todo o processamento acontece no seu navegador. Nenhum dado é enviado para qualquer servidor ou terceiro.