mysql 批量插入
2015-11-01 22:39
507 查看
现在我们有一个最简单的数据表 student,只有两个字段,主键不自增
现在我们要插入多条数据,常理就是:
但是生产环境中数据量过多,循环插入肯定会影响性能,mysql提供了一个很cool的语法,可以批量插入,大白话,传入”数组” 请注意区分关键字,后者是 values ,前者一条一条的插入是value;
但是批量插入如果有重复的值呢?
这时候需要用到新的语法了,关键字 on duplicate key update
官方文档
其他待研究的是 on duplicate key update , ignore,以及 replace …三个关键字的用法….
相关:
stackoverflow: Example
to be continued
字段名 | 类型 | 说明 |
---|---|---|
id | int | primary key 主键 |
name | varchar | 无 姓名 |
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
相关文章推荐
- mysql字符串查询大小写问题2
- TCMalloc 对MYSQL 性能 优化的分析
- 打开MySQL数据库远程访问的权限
- MySQL5.6 Using a password on the command line interface can be insecure解决方法;
- Mac上brew install mysql 报pid的错误的解决方案
- mysql事务和锁InnoDB
- Mysql锁机制和事务控制
- mysql 源码入门阅读调试笔记.
- mysqldump详解
- mysql事务的提交和回滚
- Mysql创建触发器实现不同表的插入、更新、删除操作
- MySql级联删除和更新
- MYSQL_使用外键约束(constraint)或触发器(trigger)来进行级联更新、删除
- sqlserver 迁移到mysql
- mysql创建修改删除表和库
- 超详细mysql left join,right join,inner join用法分析
- mysql group by 用法解析(详细)
- Mysql 主键
- MySQL-5.6.25免安装版--安装与配置方法
- mysql基础1