查询

MongoDB权威指南学习笔记4---查询相关的知识点

左心房为你撑大大i 提交于 2020-02-28 23:34:18
1 find find({查询条件},{"key":1,"email":1}) 后面表示返回哪些键 2 可用的比较操作符 $lt , $lte,$gt,$gte 比如db.users.find({"age":{"$gte":18,"$lte":30}}) 3不等于 find(...{"key":{"$ne":"value"}} 4 in find(...{"key":{"$in":[1,2,3]}} 5 nin find(...{"key":{"$nin":[1,2,3]}} 6 or find( {"$or":[ {"key1":"value1"}, {"key2":"value2"} ]}) find( {"$or":[ {"key1": {"$in":["value1","value2"]} }, {"key2":"value2"} ]}) 7$mod find({"key": {"$mod":[5,1]}}) 8 not find({"key":{"$not":{"$mod":[5,1]}}}) 9 and find({"$and":[{"x":{"$lt":1}}, {"x":4}]}) 这个匹配{"x"[0,4]} 等同于 find({"x":{"$lt":1,"$in":[4]}}) 10 关于null find( {"y": null } )---不仅会找到y

新技能获取:如何查询网易163邮箱具体的注册日期,包括年月日

不打扰是莪最后的温柔 提交于 2020-01-07 16:16:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这几天突发奇想,脑子里凭空产生了壹個困扰我好几天的问题:应该怎么做才能查询到网易163邮箱的具体注册日期?之所以会产生这样的疑问,是因为网易163邮箱本身提供的信息不够精确,在 网易免费邮箱官方博客 里,其实是有壹篇文章指导网友们 如何才能查询到自己的网易邮箱的注册时间 的,但是那個方法的局限性实在太大,按照文章里提供的方法,居然只能查到邮箱帐户的注册年份。对于我这样对数字的精确度有要求的人而言,通过系统居然只能查询到自己的邮箱注册于2005年,这是完全不能接受的结果,那具体是2005年哪壹個月哪壹天注册的为什么不可以告诉我,感觉网易在提供这种功能的时候简单毫无诚意,虽然我理解网易作为互联网企业对用户资料有保密的责任和义务,但是这個保密做的也太好了吧,连用户自己都不能看到自己产生的数据资料,这也太离谱了。于是我开始不爽了,发誓要找出解决这個问题的方法。 首先打开浏览器祭出 Google 这個法宝,输入关键字“查询网易163邮箱的注册时间”,翻了前面几页,发现大半是网易邮箱官方博客里公布的那個方法,哥不感兴趣。继续挖掘下去,这回让我找到了貌似靠谱的方法,在这里: http://zhoubing213.blog.163.com/blog/static/182343720105114737182/

solr 与mysql的对应查询 solr统计

守給你的承諾、 提交于 2019-12-11 10:12:05
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Cloudera公司已经推出了基于Hadoop平台的查询统计分析工具Impala,只要熟悉SQL,就可以熟练地使用Impala来执行查询与分析的功能。不过Impala的SQL和关系数据库的SQL还是有一点微妙地不同的。 下面,我们设计一个表,通过该表中的数据,来将SQL查询与统计的语句,使用Solr查询的方式来与SQL查询对应。这个翻译的过程,是非常有趣的,你可以看到Solr一些很不错的功能。 用来示例的表结构设计,如图所示: 下面,我们通过给出一些SQL查询统计语句,然后对应翻译成Solr查询语句,然后对比结果 查询对比 条件组合查询 SQL查询语句: SELECT log_id,start_time,end_time,prov_id,city_id,area_id,idt_id,cnt,net_type FROM v_i_event WHERE prov_id = 1 AND net_type = 1 AND area_id = 10304 AND time_type = 1 AND time_id >= 20130801 AND time_id <= 20130815 ORDER BY log_id LIMIT 10; 查询结果,如图所示: Solr查询URL: http://slave1:8888

django QuerySet里那些常用又不常见的技巧

半世苍凉 提交于 2019-12-11 09:49:15
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 最近的作业是django rest,业务有点复杂,因此model部分会有各种查询,有些确实之前很少 用到的东西,向Q,F,这都是毛啊 QuerySet 像Entry.Objects.all(),这些操作返回的是一个QuerySet对象,这个对象 比较特别,并不是执行Objects.all(),或者filter之后就会与数据库交互, 具体参看官方文档,与数据库交互的情况: https://docs.djangoproject.com/en/dev/ref/models/querysets/ Internally, a QuerySet can be constructed, filtered, sliced, and generally passed around without actually hitting the database. No database activity actually occurs until you do something to evaluate the queryset. 可以print queryset对象的query属性查看具体sql 1. list(Entry.Objects.all()) 2. for e in Entry.Objects.all():pass #

关于mysql的in查询(批判性文章)

可紊 提交于 2019-12-03 05:28:16
今天下午闲来无事,使用navicat对mysql的查询条件in进行执行计划调试。mysql版本5.0 首先表结构如下 -- Table "user_core" DDL CREATE TABLE `user_core` ( `userId` int(11) NOT NULL, `nickname` varchar(255) DEFAULT NULL COMMENT '昵称', `realName` varchar(255) DEFAULT NULL COMMENT '真实改名', `email` varchar(255) DEFAULT NULL COMMENT '用户email与user_email表中的email不同', `gender` int(4) DEFAULT NULL COMMENT '性别(0:女, 1:男)', `birthday` date DEFAULT NULL COMMENT '生日', `phone` varchar(255) DEFAULT NULL COMMENT '电话', `idNumber` varchar(18) DEFAULT NULL COMMENT '身份证', `countKey` varchar(255) DEFAULT NULL COMMENT '计统url', `urlKey` varchar(255) DEFAULT NULL

Hibernate查询、 检索、 抓取 (Fetch)

本小妞迷上赌 提交于 2019-12-01 19:59:50
一、HQL 在hql中关键字不区分大小写,但属性和类名区分大小写 1. 简单属性查询 * 单一属性查询,返回结果集属性列表 * 多个属性查询,返回集合元素是对象数组,数组长度取决于select中属性个数 * 返回数组不够对象化,可以采用hql动态实例化对象 e.g: select new Student(name, age) from Student; 2. 实体对象查询 * N + 1问题,在默认情况下,使用query.iterate查询, 可能 出现N + 1问题 发出N+1条sql语句 1: 首先发出一条查询id列表的SQL N: 根据id列表到缓存中查询,如果缓存未命中,则根据ID发出N条相应sql * list和iterated 区别 > list : 每次都会发出SQL语句,list会向缓存中放入数据,而不利用缓存的数据 > iterate : 在默认情况下iterate利用缓存数据,但在缓存中根据ID未命中则可能出现N+1问题 3. 条件查询 * 可以采用拼接字符串的方式传递参数 * 可以采用 ?来传递参数(索引从0开始) * 可以采用 :参数名 来传递 4. 本地SQL查询 5. 外置命名查询 6. 分页查询 7. 对象导航查询 9. 连接查询 (内连,外连) * 内连接 select c.name, s.name from Student s join s

小觑数据库(SqlServer)查询语句执行过程

白昼怎懂夜的黑 提交于 2019-12-01 13:43:28
近年来,越来越多的NoSql产品不断的以技术革命的者的身份跳出来:"你看哥是多么的快,你们关型型数据库真是战五渣阿"。是的,高性能的场景下NoSql真的很出彩。而我们关系型数据库只能在墙角哭泣"是的,没错,他们真的好快"。 但是他们为啥哪么快?用了 雷政富光环了 吗?我们从了解数据库引挚执行过程来了解一些基础知识,看看我们关系型数据库到底慢在哪?我只粗懂一些SqlServer,只能从SqlServer讲起。但是SQLServer是一个非常复杂的软件。我们将通过一个查询的执行过程让你对SQlServer的核心引挚和运行过程做一个简单的了解。 由于Select语句和Update语句基本一样,但是Update涉及到修改语句,所以我们直接从一条Sql语句开讲。 update 码农表 set 女友=1 where 女友=0 当我们码农写下这样一条Sql,小手轻按F5。 一个女朋友就产生了 一条语句在客户端被以TDS(Tabular Data Stream)协议形式中发给SqlServer服务端的网络接口(SQL Server Network Interface)。 什么是TDS协议这不重要。 因为TDS是一个专属协议,最早由Sysbase公司设计用于与数据库服务交互。你无须过多关心。SNI是一个 协议层用于在服务端和客户端建立网络连接,自SqlServer2005以后才有

Jpa同一个事务中对同一数据先改后查,获取数据并未改变

隐身守侯 提交于 2019-11-26 18:37:05
Jpa同一个事务中对同一条数据进行修改后,在进行查询,发现查询到的数据并未改变,但是数据库中的数据确实已改变。 对于这一问题,经过多方查询发现: jpa在同一事务中若要看到事务中修改后的数据,需要进行刷新操作,具体就一行代码: objectRepository .flush(); 来源: oschina 链接: https://my.oschina.net/u/2757387/blog/1555877