INSERT语句用于向MySQL表插入数据,基本语法为INSERT INTO 表名(字段) VALUES(值);可一次插入多条记录,或省略字段名全字段插入,也可通过SELECT从其他表导入数据,需注意字段匹配与约束。
在MySQL中使用INSERT语句插入数据,是向数据库表中添加新记录的基本方式。只要掌握基本语法和常见用法,就能快速完成数据写入。
INSERT语句的基本语法
最基本的INSERT语句格式如下:
INSERT INTO 表名 (字段1, 字段2, 字段3) VALUES (值1, 值2, 值3);说明:
- 表名:你要插入数据的表名称
- 字段列表:指定要插入数据的列名,可以不包含所有字段(但必须满足非空和主键约束)
- VALUES:后面跟对应字段的值,顺序需与字段列表一致
例如,有一个用户表 users,包含 id、name、age 三个字段:
INSERT INTO users (name, age) VALUES ('张三', 25);这条语句会插入一条记录,name为“张三”,age为25,id如果是自增字段会自动填充。
一次性插入多条数据
如果需要插入多条记录,可以在一个INSERT语句中使用多组VALUES,提高效率。
INSERT INTO users (name, age) VALUES ('李四', 30), ('王五', 28), ('赵六', 35);这样一次执行就插入了三条数据,比多次执行单条INSERT更快。
插入时省略字段名(全字段插入)
如果你要插入的值覆盖所有字段,并且顺序与建表时字段顺序一致,可以省略字段列表:
INSERT INTO users VALUES (1, '孙七', 22);注意:这种写法要求提供的值数量和类型必须与表结构完全匹配,否则会报错。建议谨慎使用,优先明确写出字段名更安全清晰。
从其他表复制数据插入
还可以通过SELECT查询结果来插入数据,实现表间数据导入:
INSERT INTO users_backup (name, age) SELECT name, age FROM users WHERE age > 30;这条语句将users表中年龄大于30的记录复制到users_backup表中。
基本上就这些。只要注意字段与值的对应关系、数据类型匹配以及主键唯一性,INSERT语句使用起来并不复杂,但容易忽略约束问题,写的时候多检查一下表结构就更稳妥。








