您的位置:首页 > 数据库 > MySQL

mysql 批量插入

2015-11-01 22:39 507 查看
现在我们有一个最简单的数据表 student,只有两个字段,主键不自增

字段名类型说明
idintprimary key 主键
namevarchar无 姓名
现在我们要插入多条数据,常理就是:

insert into student value(1,"Lucy");
insert into student value(2,"Jack");
insert into student value(3,"Katy");


但是生产环境中数据量过多,循环插入肯定会影响性能,mysql提供了一个很cool的语法,可以批量插入,大白话,传入”数组” 请注意区分关键字,后者是 values ,前者一条一条的插入是value;

insert into student values(4,"Lily"),(5,"Arya"),(6,"Sansa");

--下面是插入成功的提示信息
--Query OK, 3 rows affected (0.06 sec)
--Records: 3  Duplicates: 0  Warnings: 0


但是批量插入如果有重复的值呢?

这时候需要用到新的语法了,关键字 on duplicate key update

insert into student(id,name) values(4,"Lilyy"),(5,"AryaStark"),(7,"Imp") on duplicate key update name=values(name) ;
--抱歉 最后这个关键字是values 我写成了 value  今天才发现错误


官方文档

其他待研究的是 on duplicate key update , ignore,以及 replace …三个关键字的用法….

相关:

stackoverflow: Example

to be continued
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: