MySQL select、insert、update批量操作语句代码实例_Mysql

来源:脚本之家  责任编辑:小易  

如何按照Mysql select in list中的顺序返回idList=[5,7,1,3];data=['id'=>1,]['id'=>3,]['id'=>5,]['id'=>7,]数据库查出来的数据交换键和值sortRule=array_flip($idList);自定义排序usort(function($preRow,$nextRow)use($sortRule){preRuleVal=isset($sortRule[$preRow['id']])?sortRule[$preRow['id']:0;nextRuleVal=isset($sortRule[$nextRow['id']])?sortRule[$nextRow['id']:0;return$preRuleVal-$nextRuleVal;},$data);var_dump($data);www.zgxue.com防采集请勿采集本网。

  项目中经常的需要使用批量操作语句对数据进行操作,使用批量语句的时候需要注意MySQL数据库的条件限制,这里主要是数据的大小限制,这里对批量插入、批量查找及批量更新的基础操作进行下简单的汇总。

. 这样的问题, in会自动去重的 他说的是用union all 方式 12345select*from 表 where id=1union allselect*from 表 where id=1union allselect*from 表 where id=2类似这样的, 因为union all是

1、批量insert插入语句,如下的语句在测试环境尝试过1W+的批量插入,具体数量跟表结构及字段内容有关系。

第一个: select*from a limit 1;显示前3个: select*from a limit 3;显示第二个: select*form a limit 2,1;类似以上。

<insert id=”addTextPushList”paramerterType = “java.util.List”> INSERT INTO SYS_TEXT_PUSH( PUSH_ID, USER_UM_ACCOUNT, USER_NAME, SECTION, USER_MOBILE, PUSH_STATUS, PROMOTE_ID, CREATED_BY, CREATION_DATE, ENABLED_FLAG )values<foreach collection=”list” item = “item” separator=”,”> ( #{item.pushId}, #{item,userUmAccount}, #{item.userName}, #{item.section}, #{item.userMobile}, #{item.pushStatus}, #{item.promoteId}, #{item.createdBy}, #{item.creationDate}, #{item.enabledFlag})</foreach></insert>

select*from b where s2 in(select s1 from a);楼主自己解决的答案使用的find_in_set函数,百在子查询的返回结果只度有1条的情况下是可用的,返回多行问记录的时候需要将多行结果转换答成1行list

2、批量select查询语句

SELECT b.id FROM t_address a,t_unit b WHERE b.utj=1 AND b.ufreeze=2 AND a.id=b.uads and a.sid=3 就这个啦!原因很简单 b.utj=1不满足的话,那么系统就直接找下一个数据 用的in的话,如果第

<select id = “getTextPromoteByIds” parameterType = “java.util.list” resultMap = “textPromoteMap”> SELECT * FROM SYS_TEXT_PROMOTE WHERE TEXT_PUSH_FLAG = 1 AND PROMOTE_ID IN <foreach collection=”list” item = “item” open=”(” separator=”,” close =”)”> #{item}</foreach></select>

select*from table where id=1 or id=2 or id=3 or id=4 or id=3 但是,你知道。这样。显示不出来。不可能实现,我试过了。

3、批量update语句。

第一种情况是需更新的值相同:

<update id = “updatePushStatus” parameterType = “java.util.List”> update SYS_TEXT_PUSH SET PUSH_STATUS = 1, LAST_UPDATE_DATE = NOW() WHERE PUSH_ID IN<foreach collection=”list” item = “item” open=”(” separator=”,” close =”)”> #{item}</foreach></update>

第二种情况是需更新的值不同:

<update id = “updatePushStatus” parameterType = “java.util.List”><foreach collection=”list” item = “item” index = “index”> update SYS_TEXT_PUSH SET PUSH_STATUS = #{item.pushStatus}, LAST_UPDATE_DATE = NOW() WHERE PUSH_ID = #{item.pushId}</foreach></update>

查一下执行计划吧执行计划可以反映出问题所在的或者改造一下SQL 使用exists写法内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • python mysqldb 执行sql语句时的参数传递方式
  • mysql创建表的sql语句详细总结
  • mysql模糊查询语句整理集合
  • mysql存储过程之循环语句(while,repeat和loop)用法分析
  • mysql数据库之常用sql语句进阶与总结
  • mysql数据库之sql基本语句小结
  • 简单了解mysql语句书写和执行顺序
  • mysql的语法及其使用指南
  • mysql登录时闪退的快速解决办法
  • mysql中general_log日志知识点介绍
  • windows下简单的mysql备份bat脚本分享
  • mysql使用中遇到的问题记录
  • mysql存储毫秒数据的方法
  • 一千行的mysql学习笔记汇总
  • centos下安装mysql时忘记设置root密码致无法登录的解决方法
  • mysql和redis实现二级缓存的方法详解
  • mysql 精简过程(删除一些文件)
  • MySQL SELECT IN 的效率
  • 如何按照Mysql select in list中的顺序返回
  • mysql select in 不排重查询
  • mysql中in嵌套select只能查询出一个结果
  • mysql select in 不排重查询 请教~
  • 如何按照Mysql select in list中的顺序返回
  • mysql 中 in的用法
  • MySQL 多表where查询与单表select where in哪一个效率高
  • mysql select * from table where id in(1,2,3,3,4) 怎么能显示两次ID=3这一列?
  • MySql的in语句有什么用?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页mysqlpython mysqldb 执行sql语句时的参数传递方式mysql创建表的sql语句详细总结mysql模糊查询语句整理集合mysql存储过程之循环语句(while,repeat和loop)用法分析mysql数据库之常用sql语句进阶与总结mysql数据库之sql基本语句小结简单了解mysql语句书写和执行顺序mysql的语法及其使用指南mysql登录时闪退的快速解决办法mysql中general_log日志知识点介绍windows下简单的mysql备份bat脚本分享mysql使用中遇到的问题记录mysql存储毫秒数据的方法一千行的mysql学习笔记汇总centos下安装mysql时忘记设置root密码致无法登录的解决方法mysql和redis实现二级缓存的方法详解mysql 精简过程(删除一些文件)mysql安装图解 mysql图文安装教程can""t connect to mysql serverwindows下mysql5.6版本安装及配置mysql字符串截取函数substring的mysql创建用户与授权方法mysql提示:the server quit withmysql日期数据类型、时间类型使用mysql——修改root密码的4种方法mysql update语句的用法详解mysql 的case when 语句使用说明教你如何在mac上安装mysql数据库mysql中表复制:create table like 与 cremysql中使用sql语句对字段进行重命名mysql分表、分库、分片和分区知识点介绍通过mysql慢查询优化mysql性能的方法讲解mysql主从复制(master-slave)实际操作案例浅谈mysqldump使用方法(mysql数据库的备份mysql 8.0.18.zip安装配置方法图文教程(wcentos 7系统下编译安装 mysql5.7教程mysql字符集utf8修改为utf8mb4的方法步骤
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved