首页/数据/SQL 速查/INSERT VALUES 插入数据
本包目录(311 条)
查询基础33 条连接与子查询40 条聚合与窗口函数54 条函数速查60 条
变更与事务52 条
性能与执行计划72 条

INSERT VALUES 插入数据

按列清单逐行或多行插入:显式列出列名可读且抗表结构变更;多行 VALUES 明显减少网络往返。

SQL 速查数据更新于 2026-10-12

示例

示例
INSERT INTO users (id, name, email)
VALUES (1, 'alice', 'a@example.com'),
       (2, 'bob',   'b@example.com');

-- 单行省略列清单:值必须与列顺序一一对应(不推荐依赖)
INSERT INTO users VALUES (3, 'carol', 'c@example.com');
多行 VALUES一条语句插入多行,比逐行 INSERT 快(往返次数少)
列清单显式写列名,表加列后旧语句不炸
NULL清单中的列留空取默认值;显式写 NULL 就是存 NULL
批量导入建议每批几百到几千行,批太大触发 max_allowed_packet / 参数上限,批太小往返开销高。

易错点

  • 列清单与 VALUES 个数不匹配会直接报错;省略列清单时表结构一改,语句就可能错位插入
  • 批量插入中途失败时部分行已生效(非严格模式下更隐蔽),导入脚本要考虑幂等重跑

数据来源与参考

  • MySQL 8.0 Reference Manual · INSERT
  • PostgreSQL Documentation · INSERT
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌