CSV转SQL
将 CSV 表格数据转换为 SQL INSERT 语句,支持自定义表名、表头识别与批量插入。
CSV转SQL
CSV转SQL使用指南
📌 简介
CSV转SQL是一款面向开发者和数据分析师的在线工具,用于将 CSV 表格数据快速转换为 SQL INSERT 语句。日常导入数据时,常常需要把 Excel 导出的 CSV 转成数据库可执行的 SQL 脚本,手动拼接既耗时又容易出错。本工具支持自定义表名、首行表头识别、批量插入条数、数字值自动不加引号,并能正确处理 CSV 中的引号和逗号,转换过程完全在浏览器本地完成。
📖 CSV 解析与 SQL 插入原理
CSV(Comma-Separated Values)是一种用逗号分隔字段的纯文本表格格式,支持用双引号包裹含逗号的字段,字段内的双引号通过两个连续双引号转义。本工具实现了标准的 CSV 解析逻辑,能正确处理 "Chen, Jr" 这类含逗号的字段。转换为 SQL 时,工具根据表头生成列名列表,每一行数据生成一组值元组,按设定的批量条数拼接为 INSERT INTO table (cols) VALUES (...), (...); 的形式。字符串值会自动加单引号并转义内部单引号,空值输出为 NULL,勾选“数字值不加引号”后纯数字和浮点数会直接输出,避免数据库隐式类型转换。
💼 常见应用场景
- Excel 数据导入:把 Excel 导出的 CSV 转为 SQL,导入 MySQL、PostgreSQL 等数据库。
- 测试数据准备:为开发环境快速生成批量测试数据。
- 数据迁移:从旧系统导出的 CSV 迁移到新库时生成插入脚本。
- 数据修复:根据 CSV 中的修正值生成 UPDATE 或 INSERT 语句的素材。
- 教学演示:帮助学生理解 CSV 与关系型数据库之间的数据映射。
⚙️ 使用步骤
- 在左侧输入框中粘贴 CSV 数据,字段用逗号分隔,每行一条记录。
- 设置目标表名、每条 INSERT 的行数,勾选“首行是表头”和“数字值不加引号”。
- 点击“转换”按钮,右侧生成完整的 SQL INSERT 语句。
- 点击“复制 SQL”粘贴到数据库客户端中执行。
⚠️ 注意事项
- CSV 中如果字段包含逗号、换行或双引号,必须用双引号包裹,否则解析会错位。
- 表名和列名中的特殊字符会被替换为下划线,避免生成非法 SQL。
- 批量插入条数过大可能超过数据库单条 SQL 的长度限制,建议根据数据库类型调整(MySQL 默认 4MB,PostgreSQL 更宽松)。
- 本工具只生成 INSERT 语句,不处理主键冲突、外键约束和事务,执行前请确认目标表结构。
- 生成的 SQL 未使用参数化查询,请仅在可信环境中执行,避免 SQL 注入风险。
❓ 常见问题 (FAQ)
Q: 字段里有逗号怎么办?
A: 用双引号把整个字段包起来,例如 "Chen, Jr",工具会正确识别为一个字段。
Q: 首行不是表头怎么办?
A: 取消勾选“首行是表头”,工具会自动生成 col1、col2 等列名,也可以在输出中手动替换为实际列名。
Q: 为什么数字有时加了引号?
A: 勾选“数字值不加引号”后,纯数字和浮点数不加引号;含字母、空格或特殊字符的值仍按字符串处理。