Brazilian CSV to MySQL
- Input
- id;nome;preco;ativo;criado
1;Caneta;2,50;true;2026-03-01
2;Caderno;18,90;false;2026-03-02
- Expected output
- CREATE TABLE `produtos` (
`id` INT,
`nome` VARCHAR(16),
`preco` DECIMAL(4,2),
`ativo` BOOLEAN,
`criado` DATE
);
INSERT INTO `produtos` (`id`, `nome`, `preco`, `ativo`, `criado`) VALUES
(1, 'Caneta', 2.50, TRUE, '2026-03-01'),
(2, 'Caderno', 18.90, FALSE, '2026-03-02');
Table named produtos, MySQL dialect. The decimal comma became a dot.
Leading-zero postal code on PostgreSQL
- Input
- cep,cidade
01001000,São Paulo
20040020,Rio de Janeiro
- Expected output
- CREATE TABLE "cidades" (
"cep" TEXT,
"cidade" TEXT
);
INSERT INTO "cidades" ("cep", "cidade") VALUES
('01001000', 'São Paulo'),
('20040020', 'Rio de Janeiro');
Table cidades, PostgreSQL dialect. The cep column stays TEXT to preserve the zero.
Quotes and backslash, INSERT only
- Input
- nome,obs
Ana,"disse ""oi"""
Bia,C:\temp
- Expected output
- INSERT INTO `notas` (`nome`, `obs`) VALUES
('Ana', 'disse "oi"'),
('Bia', 'C:\\temp');
Table notas, MySQL, no CREATE TABLE. The backslash is doubled.
Large integer becomes BIGINT
- Input
- qtd,valor
3000000000,1.018
- Expected output
- CREATE TABLE `my_table` (
`qtd` BIGINT,
`valor` DECIMAL(4,3)
);
INSERT INTO `my_table` (`qtd`, `valor`) VALUES
(3000000000, 1.018);
Default options, MySQL, name my_table. 3,000,000,000 exceeds 2,147,483,647.