目录
1、背景
2、两种方式对比
2.1、一次插入一条数据
2.2、一次插入多条数据
3、拓展一下
4、Other
1、背景
我们在工作中基本都会碰到批量插入数据到DB的情况,这个时候我们就需要根据不同的情况选择不同的策略。
只要了解sql,就应该知道,向table中插入数据的命令,至少有insert和replace这两种,使用哪一种命令,和自己的业务有关;
本文就针对insert进行批量插入进行阐述,然后根据自身经历分享几个注意事项。
2、两种方式的对比
即使是insert命令,他也是有多种插入数据的方式的。但这里就不深入了解底层insert是怎么做的了,那个已经超出本人的知识范畴,哈哈。
但是我们可以大致了解MySQL的执行命令时的初略步骤:
1、首先建立连接(Socke连接);
2、Client将要执行的sql命令通过TCP连接,发给Server;
Client,可以理解为我们用各种语言写的项目程序(客户端);
Server,就是 数据库Server,负责执行。3、数据库Server收到数据(sql)后,会解析sql,然后进行处理;
4、将处理结果返回客户端。
有了上面的流程,我们就开始说insert的两种插入方式区别,下面是测试使用的表:
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '编号',
`name` varchar(40) NOT NULL COMMENT '姓名',
`gender` tinyint(1) DEFAULT '0' COMMENT '性别:1-男;2-女',
`addr` varchar(40) NOT NULL COMMENT '住址',
`status` tinyint(1) DEFAULT '1' COMMENT '是否有效:1-有效;2-无效',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
2.1、一次插入一条数据
最初学习数据库,都知道使用insert可以实现数据插入,比如向user表中插入一条数据: