Mongodb 与 SQL 语句对照表
In addition to the charts that follow, you might want to consider the Frequently Asked Questions section for a selection of common questions about MongoDB.
Executables
The following table presents the MySQL/Oracle executables and the corresponding MongoDB executables.
| MySQL/Oracle | MongoDB | |
|---|---|---|
| Database Server | mysqld/oracle | mongod | 
| Database Client | mysql/sqlplus | mongo | 
Terminology and Concepts
The following table presents the various SQL terminology and concepts and the corresponding MongoDB terminology and concepts.
| SQL Terms/Concepts | MongoDB Terms/Concepts | 
|---|---|
| database | database | 
| table | collection | 
| row | document or BSON document | 
| column | field | 
| index | index | 
| table joins | embedded documents and linking | 
| primary key Specify any unique column or column combination as primary key. | In MongoDB, the primary key is automatically set to the _id field. | 
| aggregation (e.g. group by) | aggregation framework | 
Examples
The following table presents the various SQL statements and the corresponding MongoDB statements. The examples in the table assume the following conditions:
- The SQL examples assume a table named users. 
- The MongoDB examples assume a collection named users that contain documents of the following prototype: - {
 _id: ObjectID("509a8fb2f3f4948bd2f983a0"),
 user_id: "abc123",
 age: 55,
 status: 'A'
 }
Create and Alter
The following table presents the various SQL statements related to table-level actions and the corresponding MongoDB statements.
| SQL Schema Statements | MongoDB Schema Statements | Reference | 
|---|---|---|
| CREATE TABLE users ( | Implicitly created on first insert operation. The primary key _id is automatically added if _id field is not specified. db.users.insert( {However, you can also explicitly create a collection: db.createCollection("users")
 | See insert() and createCollection() for more information. | 
| ALTER TABLE users | Collections do not describe or enforce the structure of the constituent documents. See the Schema Design wiki page for more information. | See update() and $set for more information on changing the structure of documents in a collection. | 
| ALTER TABLE users | Collections do not describe or enforce the structure of the constituent documents. See the Schema Design wiki page for more information. | See update() and $set for more information on changing the structure of documents in a collection. | 
| CREATE INDEX idx_user_id_asc | db.users.ensureIndex( { user_id: 1 } )
 | See ensureIndex() and indexes for more information. | 
| CREATE INDEX | db.users.ensureIndex( { user_id: 1, age: -1 } )
 | See ensureIndex() and indexes for more information. | 
| DROP TABLE users | db.users.drop() | See drop() for more information. | 
Insert
The following table presents the various SQL statements related to inserting records into tables and the corresponding MongoDB statements.
| SQL INSERT Statements | MongoDB insert() Statements | Reference | 
|---|---|---|
| INSERT INTO users(user_id, | db.users.insert( { | See insert() for more information. | 
Select
The following table presents the various SQL statements related to reading records from tables and the corresponding MongoDB statements.
| SQL SELECT Statements | MongoDB find() Statements | Reference | 
|---|---|---|
| SELECT * | db.users.find() | See find() for more information. | 
| SELECT id, user_id, status | db.users.find( | See find() for more information. | 
| SELECT user_id, status | db.users.find( | See find() for more information. | 
| SELECT * | db.users.find( | See find() for more information. | 
| SELECT user_id, status | db.users.find( | See find() for more information. | 
| SELECT * | db.users.find( | See find() and $ne for more information. | 
| SELECT * | db.users.find( | See find() and $and for more information. | 
| SELECT * | db.users.find( | See find() and $or for more information. | 
| SELECT * | db.users.find( | See find() and $gt for more information. | 
| SELECT * | db.users.find( | See find() and $lt for more information. | 
| SELECT * | db.users.find( | See find(), $gt, and $lte for more information. | 
| SELECT * | db.users.find( | See find() and $regex for more information. | 
| SELECT * | db.users.find( | See find() and $regex for more information. | 
| SELECT * | db.users.find( { status: "A" } ).sort( { user_id: 1 } )
 | See find() and sort() for more information. | 
| SELECT * | db.users.find( { status: "A" } ).sort( { user_id: -1 } )
 | See find() and sort() for more information. | 
| SELECT COUNT(*) | db.users.count() or db.users.find().count() | See find() and count() for more information. | 
| SELECT COUNT(user_id) | db.users.count( { user_id: { $exists: true } } )
or db.users.find( { user_id: { $exists: true } } ).count()
 | See find(), count(), and $exists for more information. | 
| SELECT COUNT(*) | db.users.count( { age: { $gt: 30 } } )
or db.users.find( { age: { $gt: 30 } } ).count()
 | See find(), count(), and $gt for more information. | 
| SELECT DISTINCT(status) | db.users.distinct( "status" ) | See find() and distinct() for more information. | 
| SELECT * | db.users.findOne() or db.users.find().limit(1) | See find(), findOne(), and limit() for more information. | 
| SELECT * | db.users.find().limit(5).skip(10) | See find(), limit(), and skip() for more information. | 
| EXPLAIN SELECT * | db.users.find( { status: "A" } ).explain()
 | See find() and explain() for more information. | 
Update Records
The following table presents the various SQL statements related to updating existing records in tables and the corresponding MongoDB statements.
| SQL Update Statements | MongoDB update() Statements | Reference | 
|---|---|---|
| UPDATE users | db.users.update( | See update(), $gt, and $set for more information. | 
| UPDATE users | db.users.update( | See update(), $inc, and $set for more information. | 
Delete Records
The following table presents the various SQL statements related to deleting records from tables and the corresponding MongoDB statements.
| SQL Delete Statements | MongoDB remove() Statements | Reference | 
|---|---|---|
| DELETE FROM users | db.users.remove( { status: "D" } )
 | See remove() for more information. | 
| DELETE FROM users | db.users.remove( ) | See remove() for more information. | 
Mongodb 与 SQL 语句对照表的更多相关文章
- mongodb与sql语句对照表
		inert into users value(3,5) db.users.insert({a:3,b:5}) select a,b from users db.users.find({}, { ... 
- MongoDB对应SQL语句
		-------------------MongoDB对应SQL语句------------------- 1.Create and Alter 1. sql: crea ... 
- mongodb 跟踪SQL语句及慢查询收集
		有个需求:跟踪mongodb的SQL语句及慢查询收集 第一步:通过mongodb自带函数可以查看在一段时间内DML语句的运行次数. 在bin目录下面运行 ./mongostat -port 端口号 ... 
- Mongodb 与sql 语句对照
		此处用mysql中的sql语句做例子,C# 驱动用的是samus,也就是上文中介绍的第一种. 引入项目MongoDB.dll //创建Mongo连接 var mongo = new Mongo(&qu ... 
- mongodb与sql语句对比
		左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ... 
- mongodb的sql日志
		在Yii2中是没有打印出mongodb的sql语句,故借用下log来查看吧. 在网上有说可以使用$model->find()->createCommand()->getRawSql( ... 
- Mongodb操作之查询(循序渐进对比SQL语句)
		工具推荐:Robomongo,可自行百度寻找下载源,个人比较推荐这个工具,相比较mongoVUE则更加灵活. 集合简单查询方法 mongodb语法:db.collection.find() //co ... 
- Mongodb操作之查询(循序渐进对比SQL语句)(转http://www.tuicool.com/articles/UzQj6rF)
		工具推荐:Robomongo,可自行百度寻找下载源,个人比较推荐这个工具,相比较mongoVUE则更加灵活. 集合简单查询方法 mongodb语法:db.collection.find() //co ... 
- mongodb查询语句与sql语句对比
		左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ... 
随机推荐
- Hibernate一级缓存(补)
			------------------siwuxie095 什么是缓存 缓存是介于应用程序和永久性数据存储源(如:硬盘上的 ... 
- visio2003 数据表模型中显示字段类型和注释
			1.在visio菜单上选择 数据库->选项->文档. 2.在常规中找到 [在图表中可见的名称] 选中 两者. 3.在表中找到 [数据类型] 选中 显示物理. 4.在数据表模型中创建字段,并 ... 
- 使用第三方容器服务,自动化部署.Net Core
			1.为什么用第三方,而不自建,有哪些第三方,最后实现的效果 a.尝试过自建,并成功了,但是很麻烦,要敲一堆命令,无法达到全自动化部署的要求. b.自建,就算用第三方的镜像包,感觉下载还是不快,不知道为 ... 
- webstorm使用教程
			Webstorm 超实用配置教程 原文来自:http://www.jianshu.com/p/4ce97b360c13 一.下载安装包 Webstorm 2017.1.4 百度云盘下载地址:https ... 
- RNA-seq连特异性
			RNA-seq连特异性 Oct 15, 2015 The strandness of RNA-seq analysis 前段时间一直在研究关于illumina TrueSeq stranded RNA ... 
- tomcat6.0 配置不同端口访问不同项目
			<?xml version='1.0' encoding='utf-8'?> <!-- Licensed to the Apache Software Foundation (ASF ... 
- 打开jsp页面时,显示空白页。
			打开jsp页面时,显示空白页. #foreach($e in $listPlanItem) #set($listPlanDetail=$!e.get(2)) < ... 
- java中配置JPA方法
			JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 使用JPA进行保存对象时,可以用对象来接收,例 ... 
- Part 4 - Authentication(14-16)
			from django.conf.urls import url from django.contrib import admin from django.contrib.auth import vi ... 
- 全球晶圆代工厂哪家强?2016年Top30名单
			1.台积电(TSMC) 总部:台湾 简介:世界上最大的独立半导体晶圆代工企业,与联华电子并称“晶圆双雄”. 主要客户:苹果,高通,联发科,华为海思 官网:http://www.tsmc.com/ 2. ... 
