
在 mysql 中,INSERT 语句用于向数据库表中添加新记录。使用时需要指定目标表名和要插入的数据。下面介绍几种常用的 INSERT 写法,帮助你正确高效地插入数据。
基本语法:插入单条记录
最简单的形式是向表中插入一行完整数据:
INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (值1, 值2, 值3);
例如,有一个用户表 users,包含 id、name 和 age 字段:
INSERT INTO users (id, name, age) VALUES (1, ‘张三’, 25);
插入多行数据
可以一次插入多条记录,节省执行次数,提高效率:
INSERT INTO users (name, age) VALUES (‘李四’, 30), (‘王五’, 28), (‘赵六’, 35);
这种方式比逐条插入更快,适合批量导入场景。
插入默认值或自增字段处理
如果某字段允许 NULL 或有默认值(如时间戳),可以显式写 default 或省略字段:
INSERT INTO users (name, age) VALUES (‘小明’, DEFAULT);
对于自增主键(如 id),通常不需要指定值:
INSERT INTO users (name, age) VALUES (‘小红’, 22);
MySQL 会自动为 id 分配下一个自增值。
从另一个表复制数据
使用 INSERT … select 可以将查询结果直接插入到表中:
INSERT INTO users_backup (name, age) SELECT name, age FROM users WHERE age > 30;
这在数据归档或迁移时非常有用。
基本上就这些。只要表结构清楚,字段类型匹配,INSERT 操作就很简单。注意避免插入重复主键或违反约束的数据,否则会报错。合理使用批量插入能显著提升性能。


