1. 程式人生 > >Mongodb與Mysql的查詢指令碼操作對比

Mongodb與Mysql的查詢指令碼操作對比

1、查詢所有記錄
db.userInfo.find();
相當於:select * from userInfo;
預設每頁顯示20條記錄,當顯示不下的情況下,可以用it迭代命令查詢下一頁資料。注意:鍵入it命令不能帶“;”
但是你可以設定每頁顯示資料的大小,用DBQuery.shellBatchSize = 50;這樣每頁就顯示50條記錄了。

2、查詢去掉後的當前聚集集合中的某列的重複資料
db.userInfo.distinct(“name”);
會過濾掉name中的相同資料
相當於:select distict name from userInfo;

3、查詢age = 22的記錄
db.userInfo.find({“age”: 22});

相當於:select * from userInfo where age = 22;

4、查詢age > 22的記錄
db.userInfo.find({age: {$gt: 22}});
相當於:select * from userInfo where age > 22;

5、查詢age < 22的記錄
db.userInfo.find({age: {$lt: 22}});
相當於:select * from userInfo where age < 22;

6、查詢age >= 25的記錄
db.userInfo.find({age: {$gte: 25}});
相當於:select * from userInfo where age >= 25;


7、查詢age <= 25的記錄
db.userInfo.find({age: {$lte: 25}});

8、查詢age >= 23 並且age <= 26
db.userInfo.find({age: {$gte: 23, $lte: 26}});

9、查詢name中包含mongo的資料
db.userInfo.find({name: /mongo/});
//相當於%%
select * from userInfo where name like ‘%mongo%’;

10、查詢name中以mongo開頭的
db.userInfo.find({name: /^mongo/});
select * from userInfo where name like ‘mongo%’;


11、查詢指定列name、age資料
db.userInfo.find({}, {name: 1, age: 1});
相當於:select name, age from userInfo;
當然name也可以用true或false,當用ture的情況下河name:1效果一樣,如果用false就是排除name,顯示name以外的列資訊。

12、查詢指定列name、age資料, age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
相當於:select name, age from userInfo where age > 25;

13、按照年齡排序
升序:db.userInfo.find().sort({age: 1});
降序:db.userInfo.find().sort({age: -1});

14、查詢name = zhangsan, age = 22的資料
db.userInfo.find({name: ‘zhangsan’, age: 22});
相當於:select * from userInfo where name = ‘zhangsan’and age = ‘22’;

15、查詢前5條資料
db.userInfo.find().limit(5);
相當於:select top 5 * from userInfo;

16、查詢10條以後的資料
db.userInfo.find().skip(10);
相當於:select * from userInfo where id not in (
select top 10 * from userInfo
);

17、查詢在5-10之間的資料
db.userInfo.find().limit(10).skip(5);
可用於分頁,limit是pageSize,skip是第幾頁*pageSize

18、or與 查詢
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
相當於:select * from userInfo where age = 22 or age = 25;

19、查詢第一條資料
db.userInfo.findOne();
相當於:select top 1 * from userInfo;
db.userInfo.find().limit(1);

20、查詢某個結果集的記錄條數
db.userInfo.find({age: {$gte: 25}}).count();
相當於:select count(*) from userInfo where age >= 20;

21、按照某列進行排序
db.userInfo.find({sex: {$exists: true}}).count();
相當於:select count(sex) from userInfo

相關推薦

MongodbMysql查詢指令碼操作對比

1、查詢所有記錄db.userInfo.find();相當於:select * from userInfo;預設每頁顯示20條記錄,當顯示不下的情況下,可以用it迭代命令查詢下一頁資料。注意:鍵入it命令不能帶“;”但是你可以設定每頁顯示資料的大小,用DBQuery.she

lucene3.5mysql 查詢效能的對比

由於最近做畢設,需要做一個商品查詢模組,用到了lucene來做商品索引的查詢,原因為: 1.marks(商品標籤)欄位含有多個標籤,當針對某個標籤查詢時,或許只能用like 查詢,這樣的查詢慢! 2.沒用過lucene,想用來測試下效能 可能結果早就顯而易見,但是這次測

mongodbmysql命令詳細對比

傳統的關係資料庫一般由資料庫(database)、表(table)、記錄(record)三個層次概念組成,MongoDB是由資料庫(database)、集合(collection)、文件物件(document)三個層次組成。MongoDB對於關係型資料庫裡的表,但是集合中沒有列、行和關係概念,這體現了模式自由

MongoDBMySQL的插入、查詢效能測試

1. 背景介紹 1.1  MongoDB的簡單介紹 在當今的資料庫市場上,MySQL無疑是佔有一席之地的。作為一個開源的關係型資料庫,MySQL被大量應用在各大網站後臺中,承擔著資訊儲存的重要作用。2009年,甲骨文公司(Oracle)收購Sun公司,MySQL成為Orac

SolrMySQL查詢效能對比

測試環境 本文簡單對比下Solr與MySQL的查詢效能速度。 測試資料量:10407608     Num Docs: 10407608 普通查詢 這裡對MySQL的查詢時間都包含了從MySQL Server獲取資料的時間。 在專案中一個最常用的查詢,查詢某段時間內的資料,SQL查詢獲取資料,30s

Mongodb學習總結(2)——MongoDBMySQL區別及其使用場景對比

對於只有SQL背景的人來說,想要深入研究NoSQL似乎是一個艱鉅的任務,MySQL與MongoDB都是開源常用資料庫,但是MySQL是傳統的關係型資料庫,MongoDB則是非關係型資料庫,也叫文件型資料庫,是一種NoSQL資料庫。它們各有優點,關鍵看用在什麼地方。 什麼情況

mysql union all查詢結合效率對比

SELECT * FROM baidu_day_2014_1  WHERE account = 'xxx' UNION ALL SELECT * FROM baidu_day_2014_2  WHERE account = 'xxx' UNION ALL SELECT *

mongodbmysql傳統的關系數據庫區別

使用 以及 處理 mode url iba 時有 rdbms 變化 轉自:易百教程 MongoDB中的數據具有靈活的模式。文檔在同一集合,但它們不需要具有相同的字段或結構集合,集合文檔中的公共字段可以包含不同類型的數據。 MongoDB中的數據具有靈活的模式。與SQL數據庫

FlaskMySQL的配置操作

flask web 運行環境: Centos6.7 ; python 2.7.11; ——————————分割線之預備知識: 1,roles表中為id列添加主鍵屬性,另一張表users為role_id列添加外鍵屬性,這樣主鍵就對應上外鍵,產生了一旦在roles表中修改完角色名(roles表中的name

MySQL查詢基礎操作

今天這兩天學習了一寫MySql的基礎查詢在這裡記載一下。 distinct的用法 首先需要注意,distinct只能用在查詢的開頭: 例如:select distinct sname from student 如果需要兩個條件來去重那麼兩個條件直接跟在distinct之後就可以了 例

Kafka_Kafka 消費者 偏移量 積壓 查詢指令碼 kafka-consumer-groups.sh

本文章對應的 kafka 版本是  kafka_2.11-0.10.0.1 版本號的含義 scala 2.11 kafka 0.10.0.1 背景:    kafka 0.9 及以上 有了一個大版本變化, 主要有以下幾個方面:   1.kafka-cli

Oracle Mysql 多表連線對比

oracle:   select a.aid aid , b.bid bid ,c.cid cid , d.did did , e.eid eid   fromtablea a ,   tableb 

說說Mongodb MySQL的那些事

Mongodb優點 MongoDB在記憶體充足的情況下資料都放入記憶體且有完整的索引支援,查詢效率較高。  MongoDB的分片機制,支援海量資料的儲存和擴充套件。 Mongodb缺點 事務關係支援薄弱。這也是所有NoSQL

MySQL-查詢資料操作(DQL)

SELECT查詢格式說明 SELECT select_expr [,select_expr...] [ FROM tnl_name [WHERE 條件] [GROUP BY {col_name|position} [ASC|DESC], ... 分組] [HAVING 條件

MySQL查詢in操作 查詢結果按in集合順序顯示

引自:http://www.jb51.net/article/25639.htm MySQL 查詢in操作,查詢結果按in集合順序顯示 複製程式碼 程式碼如下: select * from test where id in(3,1,5) order by find_in

mongodbmysql區別(超詳細)

MySQL是關係型資料庫。   優勢:在不同的引擎上有不同 的儲存方式。查詢語句是使用傳統的sql語句,擁有較為成熟的體系,成熟度很高。開源資料庫的份額在不斷增加,mysql的份額頁在持續增長。   缺點:在海量資料處理的時候效率會顯著變慢。Mongodb是非關係型資料庫(n

REDISMYSQL實現標籤的對比

這裡來演示下REDIS和MYSQL之間的資料轉換問題,REDIS 是典型的KEY -VALUE型NOSQL資料庫,並且提供了額外豐富的資料型別。這裡簡單列舉了標籤型別的應用問題。 比如在MySQL裡面,對內容的標籤有以下簡單的幾張表,我這裡只列出來拆分過後的

數據庫操作對比:Sql ServerMYSQL相比有哪些建站優勢?

ASP PHP IT SQL MYSQL 最近一直在做博客網站,從定位主題到程序和數據庫的選擇,確實廢了不少心思,經過細致的思考,最終將主題定位為讀書方面,還有文學和學習筆記,但是對於程序和數據庫問題,我一直就比較費心,因為個人是個技術小白,因此在這方面有些難題要解決。 第一個難題:博客程

【ElasticSearch實戰】——ES常用查詢條件mysql對比

類比mysql,我們需要=、>、>=、<、<= 、or、and、in、like、count、sum、group by、order by、limit  在高版本的ES裡面使用了boolquery替換了filter 1、等於號= Quer

HBase、MongoDBMySQL、Oracle、Redis--nosql資料庫關係資料庫對比

HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流開源 NoSQL 資料庫的 PK 兩大主流傳統 SQL 資料庫 類別 HBase MongoDB MySQL Oracle Redis 描述 基於 Ap