CSV转SQL转换器

粘贴CSV或拖入文件,你就能得到一份可以拿去数据库执行的.sql脚本。它分成两部分:一条CREATE TABLE语句,用来建一张名为csv_export的表;再加上对应文件每一行的INSERT语句。

文件在你的浏览器里读取和解析,全程不离开你的电脑。真正发送出去用来生成脚本的,只有解析后的行数据。列名取自表头行,转成小写,空格和符号一律换成下划线。每一列都建成TEXT类型,每个值都加引号,所以数字和日期都会以字符串形式出现。

值得留意:脚本用的是MySQL语法,在MySQL和MariaDB上可以直接跑。要用在Postgres、SQL Server或SQLite上,得先改几处地方。文件大小上限为5MB。
如何使用此工具
  1. 加载数据: 上传CSV文件、直接粘贴CSV数据或从URL加载
  2. 预览和编辑: 在表格预览中查看数据。如需要可以编辑单元格
  3. 转换: 点击"转换为SQL"开始转换
  4. 下载: 完成后,下载转换后的文件
功能
  • 处理大型数据集(最多100万行)
  • 实时进度跟踪
  • 内存高效处理
  • 数据不存储在我们的服务器上
  • SQL格式转换
关于SQL格式

SQL INSERT语句允许直接导入MySQL、PostgreSQL等数据库。

最适合: 数据库导入、数据迁移、备份脚本

从CSV得到一份能跑的SQL脚本

手动把CSV灌进数据库很磨人。你盯着几千行数据,一条条敲INSERT,或者跟导入向导较劲,还要迁就它对引号和分隔符的那套规矩。这个转换器把这些都省了。你给它一个CSV,它回给你一份朴素的.sql文件:开头是CREATE TABLE,下面是每行一条的INSERT。

它专为那些不起眼但要赶紧办完的小活儿设计。给本地开发数据库填点数据、把表格导出丢进一张表、往库结构里放些示例数据好开始写查询,都属于这类。输出是纯文本,所以你可以在执行任何一行之前,先打开来看、来读、来改。

脚本里到底有什么

输出的结构是固定的,事先知道能少走弯路。最上面是两行注释,标明这是一次CSV导出以及生成的时间。接着是CREATE TABLE:表名永远是csv_export,会有一个自增的id列作主键,你CSV里的每个表头各成一列。再往下,是按原始顺序、每条数据行对应一条INSERT INTO csv_export (...) VALUES (...); 语句。

列名取自表头行,转成小写,凡不是字母、数字或下划线的字符,都替换成下划线。所以像First Name这样的表头会变成first_name,Order #会变成order__。要是有两个表头缩写后重名,CREATE TABLE里就会出现重复的列,所以转换前最好先扫一眼表头那行。

你的数据是怎么处理的

文件在浏览器里读取和解析。分隔符由表头行自动判断,所以逗号、分号、制表符、竖线分隔的文件都能直接读进来,不用你设置什么。带引号的字段,以及字段里成对出现的引号,都按标准CSV的方式解析。

到了SQL这边,每个值都用单引号包起来,值里出现的单引号会被写成两个,这样像O'Brien这样的名字就成了'O''Brien',不会把语句弄坏。也正因为这条规则,加上每一列都是TEXT,数字和日期才会以字符串形式加引号输出,比如'30'和'2026-07-20'。空单元格会变成空字符串,而不是NULL。有一点要当心:单引号会转义,但反斜杠不会,所以如果你的数据里有反斜杠、而且MySQL用的是默认设置,执行前请先核对这些值。UTF-8全程保持不变,表声明为utf8mb4,因此带重音的字符和非拉丁文字都能原样保留。

它到不了的地方

这是一个刻意做得很简单的生成器,有几处设定是写死的。把话说在前面,免得你之后措手不及。

  • 表名永远是csv_export。想换个名字?在脚本里改掉,或者导入之后跑一条ALTER TABLE。
  • 没有类型识别。每一列都是TEXT,哪怕明显是整数或日期也一样。想要带类型的列,就在执行前改一改CREATE TABLE。
  • 语法是给MySQL和MariaDB用的:反引号括起来的名字、int(11)、ENGINE=InnoDB、utf8mb4。这两个可以直接跑,Postgres、SQL Server、SQLite和Oracle得先改。
  • 每一行都写成单独的INSERT语句,不会合并成多行INSERT,而且全在一个文件里。几千行没问题,导出量特别大时脚本就会很长。

说句实话:把结果当成一份靠谱的初稿,而不是做好的迁移脚本。临时用的开发表,拿来就能跑。要上生产的,先打开它,把真正的列类型和真正的表名定好。这五分钟,省得你日后重灌一张满是TEXT列的表。

一个真实的例子

假设你从一套老CRM里导出了4000条客户记录,存成customers.csv,列有Full Name、Email、Signup Date、Plan之类。丢进来,选SQL,你会拿到一个叫customers-thefreeconverter.com.sql的文件。里面是一条CREATE TABLE csv_export,把full_name、email、signup_date、plan建成TEXT列,再带上id主键,后面跟着4000条INSERT。把表名改成customers,把signup_date改成DATE,拿去本地MySQL一跑就成。说起来比做起来还费劲。

运行脚本

拿到.sql文件后,照你平时的习惯把它交给数据库就行,管你是用管道喂给mysql客户端,还是粘进图形化工具里。id列会在插入过程中自动填好,你不用管它。一个坑:CREATE TABLE没带IF NOT EXISTS,所以同一份脚本跑两次,会报'table already exists'的错。要么先DROP TABLE,要么第二次只留INSERT、把CREATE TABLE那段删掉。

转换前先清理数据

因为CSV是在一个可编辑的表格里打开的,你可以趁还没生成任何SQL先把它理顺。按某一列排序、筛到只剩你真正要的行、重命名某个表头好让列名更干净、删掉重复行,都行。在这里改好,INSERT就跟你想要进表的内容对得上,不用先导入一堆杂质再回头删。

什么时候换个工具更合适

关于隐私:CSV本身从不上传,因为它是在你浏览器里解析的。生成SQL时确实会把解析后的行数据发到服务器,在那里生成.sql文件,只保留到够你下载的那一小会儿。这些生成的文件大约十分钟后自动清除,之后什么都不留,也不会分享。

CSV转SQL常见问题解答

探索类似工具

HTML

CSV转HTML转换器

把CSV文件转成好看的响应式HTML表格,复制粘贴就能用在网页上

转换为HTML
</>

CSV转XML转换器

上传CSV文件,几秒钟就能拿到干净的XML。不用注册,直接下载。

转换为XML
JSON

CSV转JSON转换器

把CSV数据转成干净的JSON,API对接、Web开发、数据处理都能直接用

转换为JSON
TSV

CSV转TSV转换器

把CSV文件转成TSV,几秒就搞定。上传文件,下载用制表符分隔的结果。

转换为TSV
PDF

CSV转PDF转换器

把CSV文件转成排版整齐的PDF,带表格、分页,直接能打印

转换为PDF
XLSX

CSV转Excel转换器

把CSV文件转成格式整齐的Excel,直接就能用公式和图表

转换为Excel