首页 >> 基础教程

mysql插入数据

插入一条数据

insert into `user`(`user_code`, `user_name`, `age`, `money`) values("no1", "小明", 32, 5.2);

插入一条数据不写字段

insert into `user` values("no1", "小明", 32, 5.2);

这种用法要注意字段数量和顺序


批量插入数据

insert into `user`(`user_code`, `user_name`, `age`, `money`) values("no1", "小明", 32, 5.2),("no2", "晓东", 35, 1.0),("no3", "小风", 36, 0.5);

批量插入数据长度要注意sql长度和数据条数据 一次插入数据太多可能导致报错、占用太多网络带宽、从库同步延迟等等


插入数据扩展

插入数据忽略主键或者唯一键冲突

insert IGNORE into `user`(`user_code`, `user_name`, `age`, `money`) values("no1", "小明", 32, 0.1);

去掉IGNORE执行sql,服务器会报错误,原因是因为创建表时我们创建了一个user_code的主键索引,这样user_code字段的数据就不能重复


插入数据如果主键或者唯一键冲突就更新数据

insert into `user`(`user_code`, `user_name`, `age`, `money`) values("no1", "小明", 32, 1.1) ON DUPLICATE KEY UPDATE `age`= 35 ;

上数据语句的含义是插入一条主键user_code="no1"的数据, 如果存在user_code="no1"的数据就更新该条数据的age为35 这种用法可以用于需要检查数据是否存,如果存在就更新,不存在就插入的场景


复制某表的部分或者全部字段,插入到另外一个表

INSERT into `user_1`(`user_code`, `user_name`, `age`, `money`) select `user_code`, `user_name`, `age`, `money` from `user`;

这种用法需要注意源表(数据来源表)的数据量,数据量太多会导致短时间大量服务器io操作


发表评论

昵称:
联系方式:
评论内容:

所有评论

最新文章
10.5 反规范化:什么时候需要打破规则?2026-03-22
10.4 第三范式(3NF)2026-03-22
10.3 第二范式(2NF)2026-03-22
10.2 第一范式(1NF)2026-03-22
10.1 什么是数据库规范化?2026-03-22
9.5 实践:电商系统表关系设计2026-03-22
9.4 实际案例:博客系统表设计2026-03-22
9.3 多对多关系2026-03-22
9.2 一对多关系2026-03-22
9.1 一对一关系2026-03-18
关于我 备案号:蜀ICP备2023042032号-1