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" ...
随机推荐
- Nexus 按项目类型分配不同的工厂来发布不同 项目
但是有时候,一个公司会有很多项目[crm,oa,erp]等等的项目.如果把这些项目全部都放到releases或者snapshots中的话会有点混乱.比较好的办法是,按项目来分.每个项目一个工厂:cms ...
- CentOS 7安装配置Redis数据库
Redis源码获取 1.进入Redis官网获取Redis最新稳定版下载地址 2.通过wget命令下载 Redis 源代码. Redis编译 1.通过tar -xvf redis-3.0.2.tar ...
- Python实现的常用排序方法
1.冒泡排序,相邻位置比较大小,将比较大的(或小的)交换位置 def maopao(a): for i in range(0,len(a)): for j in range(0 ...
- 取消svn add
svn commit之前,add的东西都可以取消. 通过先执行svn cleanup,再执行svn revert --recursive example_folder.
- 使用web页面实现oracle的安装和测试
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- centos 6.5 ftp服务配置及客户端使用
一.ftp服务简介 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Ap ...
- Future设计模式
一.什么是Future模型: Future模式是多线程开发中非常常见的一种设计模式,它的核心思想是异步调用.这类似我们网上订餐订座,只要一个电话,客服就告诉我们已经预定成功(实际客服MM啥都还没做好) ...
- 帧动画布局文件 animation-list
<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android=&qu ...
- 使用Spring+Junit4进行测试
前言 单元测试是一个程序员必备的技能,我在这里就不多说了,直接就写相应的代码吧. 单元测试基础类 import org.junit.runner.RunWith; import org.springf ...
- Spring框架的核心功能之AOP概述
1. 什么是AOP的技术? * 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程 * AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构 ...