# CSV 转多方言 SQL INSERT 生成器

解析 CSV/Excel-CSV/TSV(自动方言检测,RFC 4180),生成 MySQL/PostgreSQL/SQLite/SQL Server 的批量 INSERT,带类型推断和 ON CONFLICT/IGNORE 变体

> 标准页面: https://elysiatools.com/zh/tools/csv-flavor-to-sql-insert-emitter

- **分类:** Format Conversion

- **关键词:** csv, sql, insert, etl, 数据库, mysql, postgresql, sqlite, sqlserver, tsv, rfc4180, 冲突, upsert

## 概述

把表格文本转成可直接运行的 SQL INSERT 批。自动检测分隔符(逗号/分号/制表符/竖线)、处理 UTF-8 BOM、按 RFC 4180 解析带引号字段。逐列推断类型(BIGINT/DOUBLE/BOOLEAN/DATE/TIMESTAMP/TEXT)。四种方言:MySQL/PostgreSQL/SQLite/SQL Server。支持 ON CONFLICT/IGNORE/upsert 幂等变体。区别于只读 Excel 的 xlsx-sql-insert-generator。

## 输入项

- **CSV / Excel-CSV / TSV 数据** (textarea): Paste CSV here, e.g. id,name,amount 1,Alice,99.50 2,Bob,
- **SQL 方言** (select)
- **分隔符** (select)
- **表名** (text): e.g. customers
- **空值标记** (select)
- **冲突处理** (select)
- **冲突目标列** (text): e.g. id (for postgres upsert)
- **批大小(多行)** (number)
- **多行 VALUES** (checkbox)
- **首行为表头** (checkbox)
- **生成 CREATE TABLE** (checkbox)

## 适用场景

- 需要把带表头的 CSV 或 TSV 数据导入数据库时
- 需要选择不同 SQL 方言并生成对应 INSERT 语句时
- 需要处理空值、冲突模式或多行 VALUES 时

## 工作原理

- 粘贴 CSV、Excel-CSV 或 TSV 数据，并选择是否将首行作为表头。
- 选择 SQL 方言、分隔符、目标表名和空值标记；分隔符也可自动检测。
- 按列推断 BIGINT、DOUBLE、BOOLEAN、DATE、TIMESTAMP 或 TEXT 等类型。
- 设置普通 INSERT、IGNORE 或 Upsert，以及批大小、多行 VALUES 和 CREATE TABLE 选项后生成 SQL。

## 使用案例

- 将业务 CSV 数据批量导入 PostgreSQL、MySQL、SQLite 或 SQL Server。
- 把 Excel 导出的分号分隔数据转换为 MySQL INSERT 或 Upsert 脚本。
- 在 ETL 或数据迁移中，根据列值生成带类型推断的 SQL 插入语句。

## 常见问题

### 支持哪些输入格式？

支持 CSV、Excel-CSV 和 TSV 等表格文本，并按 RFC 4180 解析带引号字段。

### 支持哪些 SQL 数据库？

支持 PostgreSQL、MySQL、SQLite 和 SQL Server。

### 可以自动识别分隔符吗？

可以，也可以手动选择逗号、分号、制表符或竖线。

### 空值如何处理？

可将空字符串、NULL、N/A 或短横线识别为空值标记。

### 能生成 Upsert 语句吗？

可以选择 Upsert；具体冲突语法会根据所选 SQL 方言生成。

## 相关工具

- [CSV转Excel转换器](https://elysiatools.com/zh/tools/csv-to-excel): 将CSV数据转换为Excel格式，支持自定义解析和格式化选项
- [文本转Excel转换器](https://elysiatools.com/zh/tools/text-to-excel): 将各种文本格式转换为Excel，支持自定义解析和格式化选项
- [Excel转CSV转换器](https://elysiatools.com/zh/tools/excel-to-csv): 将Excel文件转换为CSV格式，提取第一个工作表的数据
- [批量条码生成器](https://elysiatools.com/zh/tools/barcode-batch-generator): 从 CSV 或多行文本批量生成 Code 128、EAN-13、UPC-A、ITF-14、QR Code 和 Data Matrix，并导出 PNG ZIP 或 PDF
- [XLSX CSV 批量转换器](https://elysiatools.com/zh/tools/xlsx-csv-batch-converter): 批量 CSV/TSV 与 XLSX 互转，支持编码与分隔符处理，减少乱码
- [XLSX 工作表转 CSV 打包](https://elysiatools.com/zh/tools/xlsx-sheet-to-csv-pack): 将每个工作表导出为独立 CSV，并附带 manifest（列名/行数/编码）
- [XLSX SQL 插入语句生成器](https://elysiatools.com/zh/tools/xlsx-sql-insert-generator): 读取 Excel 表头与数据，生成 SQL INSERT 语句
- [XLSX CSV 检测规范化](https://elysiatools.com/zh/tools/xlsx-csv-detect-normalize): 自动检测 CSV 分隔符与编码（UTF-8/GBK），规范化后导入导出

## 示例

- [SQL 脚本示例](https://elysiatools.com/zh/samples/sql-samples): 各种场景和用例的 SQL 查询示例和数据库脚本
- [CSV示例](https://elysiatools.com/zh/samples/csv-samples): 各种数据类型、大小和复杂度级别的CSV示例文件
- [SQL注入示例](https://elysiatools.com/zh/samples/sql-injections): 用于安全测试、漏洞评估和防御编码实践的SQL注入载荷教育集合
- [SQL 查看器样本](https://elysiatools.com/zh/samples/sql-viewer-samples): 用于浏览器内 SQL 查看器的样本文件
