`
zangwenyang
  • 浏览: 127646 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SQL 和Mongo 对比图表

 
阅读更多

参看官方说明:

  http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart

 

 

 

MySQL executable

Oracle executable

Mongo executable

mysqld

oracle

mongod

mysql

sqlplus

mongo

MySQL term

Mongo term/concept

database

database

table

collection

index

index

row

BSON document

column

BSON field

join

embedding and linking

primary key

_id field

group by

aggregation

       

MongoDB queries are expressed as JSON (BSON) objects.  The following chart shows examples as both SQL and in Mongo Query Language syntax. 

The query expression in MongoDB (and other things, such as index key patterns) is represented as JSON (BSON). However, the actual verb (e.g. "find") is done in one's regular programming language; thus the exact forms of these verbs vary by language.  The examples below are Javascript and can be executed from the mongo shell.

 

SQL Statement

Mongo Statement

CREATE TABLE USERS (a Number, b Number)

implicit; can also be done explicitly with

db.createCollection("mycoll")

 

 

ALTER TABLE users ADD ...

implicit

 

 

INSERT INTO USERS VALUES(3,5)

db.users.insert({a:3,b:5})

 

 

SELECT a,b FROM users

db.users.find({}, {a:1,b:1})

SELECT * FROM users

db.users.find()

SELECT * FROM users WHERE age=33

db.users.find({age:33})

SELECT a,b FROM users WHERE age=33

db.users.find({age:33}, {a:1,b:1})

SELECT * FROM users WHERE age=33 ORDER BY name

db.users.find({age:33}).sort({name:1})

SELECT * FROM users WHERE age>33

db.users.find({age:{$gt:33}})

SELECT * FROM users WHERE age!=33

db.users.find({age:{$ne:33}})

SELECT * FROM users WHERE name LIKE "%Joe%"

db.users.find({name:/Joe/})

SELECT * FROM users WHERE name LIKE "Joe%"

db.users.find({name:/^Joe/})

SELECT * FROM users WHERE age>33 AND age<=40

db.users.find({'age':{$gt:33,$lte:40}})

SELECT * FROM users ORDER BY name DESC

db.users.find().sort({name:-1})

SELECT * FROM users WHERE a=1 and b='q'

db.users.find({a:1,b:'q'})

SELECT * FROM users LIMIT 10 SKIP 20

db.users.find().limit(10).skip(20)

SELECT * FROM users WHERE a=1 or b=2

db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } )

SELECT * FROM users LIMIT 1

db.users.findOne()

SELECT order_id FROM orders o, order_line_items li WHERE li.order_id=o.order_id AND li.sku=12345

db.orders.find({"items.sku":12345},{_id:1})

SELECT customer.name FROM customers,orders WHERE orders.id="q179" AND orders.custid=customer.id

var o = db.orders.findOne({_id:"q179"});

var name = db.customers.findOne({_id:o.custid})

 

 

SELECT DISTINCT last_name FROM users

db.users.distinct('last_name')

SELECT COUNT(*y)

FROM users

db.users.count()

SELECT COUNT(*y)

FROM users where AGE > 30

db.users.find({age: {'$gt': 30}}).count()

SELECT COUNT(AGE) from users

db.users.find({age: {'$exists':true}}).count()

 

 

CREATE INDEX myindexname ON users(name)

db.users.ensureIndex({name:1})

CREATE INDEX myindexname ON users(name,ts DESC)

db.users.ensureIndex({name:1,ts:-1})

 

 

EXPLAIN SELECT * FROM users WHERE z=3

db.users.find({z:3}).explain()

 

 

UPDATE users SET a=1 WHERE b='q'

db.users.update({b:'q'}, {$set:{a:1}},false, true)

UPDATE users SET a=a+2 WHERE b='q'

db.users.update({b:'q'}, {$inc:{a:2}},false, true)

 

 

DELETE FROM users WHERE z="abc"

db.users.remove({z:'abc'});

More examples, specifically aggregation examples, here

 

 

 

MongoDB资料汇总专题

 

 

1.MongoDB是什么

2.MongoDB内部实现

3.MongoDB实战经验分享

4.MongoDB与开源项目

5.MongoDB客户端与工具集

6.MongoDB应用教程

7.MongoDB性能与优化

8.MongoDB部署、运维与监控

9.MongoDB新闻

分享到:
评论

相关推荐

    mongo数据库可视化工具

    3. 数据可视化:可视化工具通常提供图表和报表功能,便于理解数据分布和趋势,有利于数据分析和决策。 4. 集群管理:对于多服务器或分片的MongoDB集群,可视化工具能提供统一的管理视图,方便监控和调整。 5. 安全...

    navicat 12支持 mongo版

    2. **数据可视化**:Navicat 12包含数据可视化工具,允许用户将MongoDB中的数据以图表的形式展示,如饼图、柱状图、线图等,便于数据理解和分析。 3. **备份与恢复**:在Navicat 12中,用户可以设置计划任务进行...

    mongo 图形化 客户端

    - **可视化数据**:通过表格和图表展示数据,便于理解和分析。 - **简化查询**:提供图形化的查询构建器,使得编写和测试查询更为容易。 - **数据库管理**:轻松执行备份、恢复、用户管理、权限设置等操作。 - **...

    mongo管理软件

    8. 数据可视化:通过图表和图形展示数据,帮助用户理解数据模式和趋势。 9. 集群管理:对于运行在集群环境中的MongoDB,管理软件提供集群监控和管理功能,如分片、副本集管理等。 10. 故障排查:当数据库出现问题...

    nosqlbooster4mongo5.2.11,mongoDB连接工具

    尽管 MongoDB 使用的是基于 JSON 的查询语言(MQL),但 NosqlBooster 提供的 SQL 支持使得转换和适应变得轻松。 其次,NosqlBooster 具有强大的编辑和查看文档功能。用户可以直接在界面上创建、修改和删除文档,...

    MongDB 管理工具绿色版

    5. 性能监控:通过实时图表,MongoVUE 可以展示 MongoDB 实例的性能指标,如 CPU 使用率、内存使用、I/O 操作等,有助于识别和解决性能问题。 6. 用户管理:管理 MongoDB 的用户和权限也是管理员的重要职责。Mongo...

    dbeaver21.1-enterprise-agent用于连接MongoDB等NoSQL类型数据库

    4. **数据可视化**:通过表格、图表等形式展示数据,便于理解和分析,有助于数据决策。 5. **版本控制**:集成版本控制系统如Git,方便数据库对象的版本管理和协作。 6. **性能监控**:实时监控数据库性能,包括...

    mac-navicat16数据库软件

    6. **数据可视化**:Navicat16支持创建各种图表,将数据库中的数据以直观的图形展示出来,帮助用户更好地理解和分析数据。 7. **实时监控与警报**:提供实时的数据库性能监控,可以设定阈值并触发警报,帮助用户...

    MongoDB可视化工具安装包

    - 高级图表:通过图表展示数据分布和趋势,有助于数据分析。 这三款工具均可以帮助用户更高效地进行MongoDB数据库的日常操作和管理,选择哪一款取决于个人偏好和具体需求。MongoVUE适合初学者,界面友好;MongoDB ...

    MySQL数据库管理工具SQLyog

    SQLyog的名字是“SQL”与“Yoga”的组合,寓意着它能帮助用户灵活地“修炼”和“掌握”SQL操作。 1. **界面友好**:SQLyog提供了一个直观的界面,使得即使是对SQL不熟悉的用户也能快速上手。它支持拖放操作,允许...

    Mongodb参考手册

    通过SQL到MongoDB的映射图表和SQL到聚合的映射图表,用户可以更直观地理解如何将SQL查询语句转换为MongoDB的查询。 在本手册的工具和程序参考页中,您可以看到MongoDB的包组件、内部元数据、配置数据库以及本地...

    navicatmongodb12_1_7_windows.zip

    2. 数据可视化:通过图表和报表展示数据,帮助理解数据趋势和模式。 3. 数据编辑:支持插入、更新、删除操作,以及复杂的查询构建。 4. 数据同步:比较并同步数据库或集合之间的差异。 5. 数据导入/导出:从多种文件...

    MongoDB的分析和报告的解决方案

    这个框架允许开发者通过一系列管道操作符对数据进行过滤、排序、分组和计算,类似于SQL的聚合函数。例如,你可以使用`$match`筛选特定条件的文档,`$group`按字段分组,`$sum`计算总数,以及`$sort`进行排序。通过...

    navicat使用教程

    MongoImport 和 MongoExport 是 MongoDB 的数据导入和导出工具,它们允许用户执行 MongoDB 数据的批量导入和导出操作。 从提供的【部分内容】可见,文档具有专业性和实用性,涉及了从基础功能到高级操作的方方面面...

    Python-FlaskMongodbEcharts构建的web小应用

    在Flask应用中,Echarts可以接收服务器端提供的数据,动态渲染出直观的图表,帮助用户更好地理解和分析数据。 4. **项目结构与实现** 在`flask-zhenai-mongo-echarts-master`这个项目中,文件结构可能包括以下部分...

    vscode-cosmosdb:Azure数据库的VS代码扩展

    VS Code的Azure数据库(预览) 使用具有丰富Intellisense的在本地和云中浏览和查询Azure数据库,然后连接到Azure以支持MongoDB,Graph(Gremlin)和SQL(以前称为DocumentDB)来管理PostgreSQL和Cosmos DB数据库。...

    robot3t-1.1-mac.dmg

    5. **数据可视化**:可以以表格、树状或图表形式查看数据,帮助用户直观理解数据结构和关系。 6. **安全性能**:支持SSL/TLS加密,确保数据传输的安全性。 7. **版本控制**:通过版本历史记录,你可以查看和恢复过去...

    开源 5 款超好用的数据库 GUI 带你玩转 MongoDB、Redis、SQL 数据库(推荐)

    - Mongood是一款基于微软Fluent UI设计的MongoDB管理工具,提供自动黑暗模式,支持Mongo-shell的数据类型和查询语法。 - 其独特的功能包括利用索引实现的自动查询和排序,以及Json数据库模式,适用于Server和...

    mongobooster可视化工具,管理工具

    2. **SQL查询支持**:虽然MongoDB是非关系型数据库,但MongoBooster支持类似SQL的查询语法,帮助用户快速理解和执行查询操作。 3. **数据编辑与导入导出**:用户可以直接在MongoBooster中创建、编辑、删除和更新...

Global site tag (gtag.js) - Google Analytics