sublime text 可快速将原始数据转为 insert 语句,核心是多行编辑:① ctrl/cmd+click 手动列选择(避开自动错位);② ctrl+shift+l 拆行光标;③ 正则替换加引号(注意含逗号字段需手动处理);④ 人工检查 null、单引号转义及分包。

Sublime Text 本身不生成 SQL,但它的多行编辑能力可以让你在几秒内把一堆原始数据(比如 CSV 行、表格列、日志字段)转成 INSERT INTO 语句——关键不是“教”,而是“怎么按对键、避开常见卡点”。
用 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)手动选中多列
这是最可控的多行起点,尤其适合字段对齐的文本(如制表符分隔的 Excel 复制内容)。别依赖自动列选择,它常因空格/缩进错位。
- 先确保视图 → 显示列标尺已开启,方便判断对齐位置
- 按住
Ctrl(或Cmd),在每列首字符处单击,光标会逐个落在同一列起始位置 - 如果某行该列为空,光标会落在行末——此时整列粘贴时会补空字符串,不是
NULL,需后续手动改 - 选中后直接输入引号或括号,所有行同步生效;但别立刻敲逗号,容易漏掉最后一行
用 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS)把每行拆成独立光标
这是生成 VALUES 子句最常用的一步,前提是每行对应一条记录。注意:它会把换行符当分隔符,遇到空行就中断。
- 选中全部待处理行(例如从 Excel 粘贴的 5 行数据)
- 执行
Ctrl+Shift+L,每行末尾出现一个光标 - 按
Home跳到行首,再按End跳到行尾,可批量加前缀/后缀 - 若某行含英文逗号,且你正用它做字段分隔符,
Ctrl+Shift+L后再按Ctrl+Shift+→选词,比手动拖更稳
用正则替换批量套上引号和括号(比如把 a,b,c → 'a','b','c')
原始数据通常没引号,直接拼 SQL 会报错。正则不是万能,但对简单分隔符场景足够快。
- 打开替换面板:
Ctrl+H(Windows/Linux)或Cmd+H(macOS) - 勾选
.*(正则模式),查找:([^,\n]+),替换为:'$1'—— 这能匹配非逗号非换行的连续内容 - 如果字段本身含逗号(如地址字段),这个正则会崩;此时必须先用列选择手动处理该列,或改用 CSV 插件
- 替换完再整体加括号:全选 →
Ctrl+Shift+P→ 输入Wrap Selection in Markup→ 选()
粘贴进数据库前务必检查 NULL 和字符串转义
Sublime 不校验 SQL 语法,它只负责“拼字”。真正出错往往在最后一步。
-
NULL字段不能加引号,但 Sublime 无法自动识别——得人工扫一遍'NULL'并删掉单引号 - 字段值含单引号(如 O’Reilly)必须转义为
O\'Reilly,否则 SQL 报错;可用查找'替换为\',但小心别动已有转义 - MySQL 默认不支持多值
INSERT的单条语句超长(默认 max_allowed_packet=4MB),1000 行以上建议拆成多个INSERT块
真正耗时间的从来不是按键次数,而是判断哪列要引号、哪列是数字、哪列可能含特殊字符——这些没法自动化,得眼睛扫。多练几次,你会发现自己越来越快地跳过“安全区”,直奔那个带单引号的地址字段去修。











