MongoDB语法与现有关系型数据库SQL语法比较

进入,查看,使用

 进入  mongodb
show dbs
use mydatabase
show collections db["mycol"].find({},{_id:0,name:1})  # 第一个参数为条件,第二个参数为显示结果设置 

db["mycol"].inseret({"key":"value",title:"tutorial",name:"jkmiao"})
 
MongoDB语法与现有关系型数据库SQL语法比较
MongoDB语法                                  MySql语法

db.test.find({‘name‘:‘foobar‘})<==> select * from test where name=‘foobar‘

db.test.find()                            <==> select *from test

db.test.find({‘ID‘:10}).count()<==> select count(*) from test where ID=10

db.test.find().skip(10).limit(20)<==> select * from test limit 10,20

db.test.find({‘ID‘:{$in:[25,35,45]}})<==> select * from test where ID in (25,35,45)

db.test.find().sort({‘ID‘:-1})  <==> select * from test order by IDdesc

db.test.distinct(‘name‘,{‘ID‘:{$lt:20}})  <==> select distinct(name) from testwhere ID<20 

db.test.group({key:{‘name‘:true},cond:{‘name‘:‘foo‘},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}})  <==> select name,sum(marks) from testgroup by name

db.test.find(‘this.ID<20‘,{name:1})  <==> select name from test whereID<20

db.test.insert({‘name‘:‘foobar‘,‘age‘:25})<==>insertinto test (‘name‘,‘age‘) values(‘foobar‘,25)

db.test.remove({})                        <==> delete * from test

db.test.remove({‘age‘:20})            <==> delete test where age=20

db.test.remove({‘age‘:{$lt:20}})   <==> elete test where age<20

db.test.remove({‘age‘:{$lte:20}})  <==> delete test where age<=20

db.test.remove({‘age‘:{$gt:20}})  <==> delete test where age>20

db.test.remove({‘age‘:{$gte:20}})<==> delete test where age>=20

db.test.remove({‘age‘:{$ne:20}})  <==> delete test where age!=20

db.test.update({‘name‘:‘foobar‘},{$set:{‘age‘:36}})<==> update test set age=36 where name=‘foobar‘

db.test.update({‘name‘:‘foobar‘},{$inc:{‘age‘:3}})<==> update test set age=age+3 where name=‘foobar‘
时间: 2024-10-27 02:39:45

MongoDB语法与现有关系型数据库SQL语法比较的相关文章

Spring Boot 从入门到精通(十)整合 MongoDB 实现读写非关系型数据库

来源:素文宅博客 地址:https://blog.yoodb.com/yoodb/article/detail/1578 MongoDB是一个开源的NoSQL文档数据库.它可以存储多种数据结构,类似JSON的BSON,可以存储复杂数据类型. Spring Boot为使用MongoDB提供了很多便利,包括spring-boot-starter-data-mongodb 'Starter POM'.本文学习一下Spring Boot中整合MongoDB数据库,来实现以不同方法读写MongoDB数据库

MongoDB与传统的关系型数据库的不同

对比项 MongoDB MySql/Oracle 表    集合List 二维表table 表的一行数据 文档document 一条记录record 表字段 键key 字段field 字段值 值value  值value 主外键 无 PK,FK 灵活度扩展性 极高 差 1.关系数据库的表的record必须保证有一样的field 2.MongoDB的每一个document的key可以不一样 3.关系型数据库的查询使用SQL 4.MongoDB的查询使用内置的find函数-->基于BSON的特殊查询

数据库 | SQL语法优化方法及实例详解

使用复合索引 如果经常执行如上查询,那么建立三个单独索引不如建立一个复合索引,因为三个单独索引通常数据库每次执行只能使用其中一个,虽然这样比不使用索引而进行全表扫描提高了很多效率,但使用复合索引因为索引本身就对应到三个字段上的,效率会有更大提升. 那么为什么数据库只支持一条查询语句只使用一个索引?简单的讲是因为N个独立索引同时在一条语句使用的效果比只使用一个索引还要慢,开销太大. 在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,

ORACLE分页查询SQL语法——最高效的分页

--1:无ORDER BY排序的写法.(效率最高)--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM emp t WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd') AND TO_DATE ('20060731', 'yyyymmdd') AND ROWNUM <= 20) table_

ORACLE分页查询SQL语法——高效的分页

--1:无ORDER BY排序的写法.(效率最高)--(经过测试,此方法成本最低,只嵌套一层,速度最快!即使查询的数据量再大,也几乎不受影响,速度依然!) SELECT * FROM (SELECT ROWNUM AS rowno, t.* FROM emp t WHERE hire_date BETWEEN TO_DATE ('20060501', 'yyyymmdd') AND TO_DATE ('20060731', 'yyyymmdd') AND ROWNUM <= 20) table_

安装MongoDB非关系型数据库

安装MongoDB非关系型数据库 MongoDB基础 技能目标 理解MongoDB数据库的基本概念 学会安装MongoDB数据库 MongoDB概述 MongoDB是一款开源的文档数据库,并且是业内领先的NoSQL数据库,用C++编写而成 MongoDB简介 MongoDB是一款跨平台.面向文档的数据库.可以实现高性能,高可用性,并且能能够轻松拓展.在高负载的情况下,添加更多节点,可以保证服务器性能 MongoDB是一个介于关系型数据库和非关系数据库之间的产品,是非关系型数据库当中功能最丰富,最

数据库大师成长日记:您最需要了解的NoSQL非关系型数据库

朋友们,我们平时使用的数据库,大多都是关系型数据库,包括MySQL.PostgreSQL.SQLServer等.关系型数据库的特点是数据的存储通过二维表格实现,将数据存储在相互独立的表格中. 近年来,随着互联网的飞速发展,数据的形态发生了很大改变,非关系型数据库NoSQL应运而生.越来越流行.NoSQL主要包括键值(Key-Value)存储数据库.列存储(Column-oriedted)数据库.面向文档(Document-Oriented)数据库.图形(Graph)数据库四种,下面介绍三款最常用

nosql的介绍以及和关系型数据库的区别

一直对非关系型数据库和关系型数据库的了解感觉不太深入,在网上收集了一些关于sql和nosql的区别和优缺点分享给大家. Nosql介绍 Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火.Nosql指的是非关系型数据库,而我们常用的都是关系型数据库.就像我们常用的mysql,sqlserver一样,这些数据库一般用来存储重要信息,应对普通的业务是没有问题的.但是,随着互联网的高速发展,传统的关系型数据库在应付超大规模,超大流量以及高并发的时候力不从心.而就在

关系型数据库和非关系型数据库,RDBMS和NoSQL区别?

简单地讲:什么是关系型数据库?依据关系模型来建立的,不同的表或库之间有相关联性 什么是非关系型数据库?不同的表或库之间没有相关联性,依据非关系模型来建立 关系型数据库和非关系型数据库各自的特点:RDBMS:二维表数据存取通过SQL数据安全性方面强 NoSQL:关注高性能,高并发,灵活性等特点 首先说说各自的优缺点:强大的查询功能--强一致性--二级索引: 关系型的优点,非关系型的缺点灵活模式--扩展性--性能: 非关系形的优点,关系型的缺点 NoSQL的分类和典型的产品:键值(KV)存储:Mem