1. 基础语法(指定字段,推荐)
INSERT INTO 表名 (字段1, 字段2, 字段3)
VALUES (值1, 值2, 值3);
示例:
INSERT INTO user (id, name, age)
VALUES (1, '张三', 20);
✅ 优点:顺序不受表字段顺序影响,可读性好,后续新增字段不容易报错
2. 简写(不写字段,值必须和表字段顺序完全一致)
INSERT INTO user
VALUES (2, '李四', 22);
⚠️ 不推荐,表结构改动后很容易插入失败
3. 一次性插入多条数据(批量插入,性能更好)
INSERT INTO user (id, name, age)
VALUES
(3, '王五', 18),
(4, '赵六', 25),
(5, '小明', 21);
4. 查询结果插入(把一张表的数据查出来插入另一张表)
INSERT INTO user_backup (id, name, age)
SELECT id, name, age FROM user WHERE age > 18;
5. 插入或者更新(存在就更新,不存在就插入,MySQL 特有)
INSERT INTO user (id, name, age)
VALUES (1, '张三', 20)
ON DUPLICATE KEY UPDATE name='张三', age=20;
前提:
id是主键或者唯一索引
6. 插入忽略(冲突时跳过,不报错)
INSERT IGNORE INTO user (id, name, age)
VALUES (1, '张三', 20);
注意要点
字符串 / 日期类型:必须用单引号
' ',数字不用日期示例:
'2026-10-26 10:30:00'如果字段有默认值、自增主键,可以不写这个字段
-- id自增,不用传id
INSERT INTO user (name, age) VALUES ('小红', 19);本文原创作者:易君召,详见:https://www.yijunzhao.cc/about,转载请注明出处。
原文链接
欢迎访问