今天遇到了一个需求,我在一张表中新增了一个字段,因为这张表以前已经有很多数据了,这样对于以前的数据来说,新增的这个字段的值也就是为该字段的默认值,现在需要将新增的这个字段添加上数据,数据来源为同表的另一字段,本来以为sql会很复杂,结果一试,这样一行简单的sql就可以搞定: update tb_common_verification_tk set '新字段'='旧字段' 结语:实践出真知!…
由于mongodb数据库类似js的写法,所以即使数据库中新的列不存在也会自动创建 db.hospital.find().forEach( function(item){ db.hospital.update({_id:item._id},{$set:{location:[item.longitude,item.latitude]}},true) } )…
将同一表中某一字段赋值给另外一个字段的语句update jxc_ckmx ckmx1 set ckmx1.ddsl = (select ckmx2.sl from jxc_ckmx ckmx2 where ckmx2.id = ckmx1.id);…
年前由于公司业务需要,后台需要获取流水记录,需要每天定时跑脚本,将流水记录跑入库里边,每天大概有个一百万左右,使用的数据库是mongodb,考虑到一条一条录入数据,100多万会跑断,就想着批量录入数据,这样速度上快,而且消耗系统资源也少,在网上找了许多关于批量插入数据的方法,最后找到了 MongoClient 提供了 batchInsert 函数,用于批量添加! 下面这是关于batchInsert函数的用法和说明:http://php.net/manual/zh/mongocollection.…
1. 问题描述 在使用MyBatis,我们经常会遇到这种情况:SELECT两个字段,需要返回一个Map,其中第一个字段作为key,第二个字段作为value.MyBatis的MapKey虽然很实用,但并不能解决这种场景.这里,就介绍一种使用拦截器来解决这个问题的方案. 2. 解决方案 源码详见:spring-mybatis-test 2.1 注解 package com.adu.spring_test.mybatis.annotations; import java.lang.annotation…
在接口开发中我们经常会遇到一个问题,打个比方,我们的实体类A中有两个字段user和pwd但是接口中需要username和password这怎么办呢,我想到了两种方法:1.新创建一个实体类B或者new一个map,将A中的字段一个一个取出来再放到B中或者放到map中 这种方法如果字段少的话还好,但若是字段多那就太麻烦了. 2.这种方法我来详细说下:首先新建一个实体类,我称之为中间实体类,为了简单我就不写那么多字段了 package com.qcr.jituan.sys.service.contrac…
mySql中,升序为asc,降序为desc.例如: 升序:select   *  from  表名 order by  表中的字段 asc(mysql中默认是升序排列,可不写) 降序:select   *  from  表名 order by  表中的字段 desc 若要进行同时一个升序,一个降序,则如下: order by 升序字段 asc,降序字段 desc.…
mysql> select * from fruit; +----+--------+-------+ | id | name | price | +----+--------+-------+ | 1 | apple | 0 | | 2 | banana | 0 | | 3 | orange | 0 | | 4 | mango | 0 | | 5 | pomelo | 0 | +----+--------+-------+ 5 rows in set (0.00 sec) 要求很简单,将上面f…
在百万级和千万级数据级别进行插入,pymongo的insert_many()方法有着很强的优势.原因是每次使用insert_one()方法进行插入数据,都是要对数据库服务器进行一次访问,而这样的访问是基于TCP连接的,每次在发送请求的时候服务器端都需要对TCP报文进行解析.而使用insert_many(),可以一次给服务器发送大量的数据,只需要一次的TCP报文解析,既可以插入大量数据,避免了大量的报文解析工作.这样一来,数据插入的效率就会大大提升.所以,为了提升效率,笔者建议在十万数据级别以上使…
Field[] field = behavior.getClass().getDeclaredFields(); for (int i = 0; i < field.length; i++) { String name = field[i].getName(); name = name.substring(0, 1).toUpperCase() + name.substring(1);//找到首位改成大写形式 String type = field[i].getGenericType().toS…