Mongodb与Mysql语法对比

对象对应关系表

MysqlMongoDB
databasedatabase
tablecollection
rowdocument
columnfield
indexindex

语法对比表(部门未进行验证,将持续更新)

MySQLMongoDB

CREATE TABLE test(

 id int,

name varchar(32),

age int,

update_time datetime

);

db.createCollection("test")

ALTER TABLE test drop column create_time;

db.test.update({},{$unset: { "create_time": "" } },{multi:true});

 

alter table test add unique index idx_name_age(name,age);

db.test.createIndex( { id: 1,age:-1 },{unique:true,background:true,sparse:true} )
DROP TABLE  test db.test.drop()

INSERT INTO test(id,name,age)values(1,"aa",18);

db.test.insert( { id: 1,name:"aa", age: 18 } )

SELECT * FROM test;db.test.find()

SELECT id, age

FROM test

where name="aa"

order by age desc ;

db.test.find(

 {name:"aa" }, 

{ _id:0 ,id: 1, age: 1 }

).sort( { age: -1 } )

SELECT * 

FROM test 

WHERE name != "aa"

db.test.find({ name: { $ne: "aa" } })

SELECT * 

FROM test

WHERE name= "aa" OR age = 18

db.test.find(

    { $or: [ { name: "aa" } , { age: 18} ] }

)

SELECT *

FROM test

WHERE age > 17 AND   age <= 19

LIMIT 10,20

db.test.find(

   { age: { $gt: 17, $lte: 19} }

).skip(10).limit(20)

SELECT *

FROM test

where update_time>='2020-11-11 00:00:00' AND update_time<'2020-11-12 00:00:00'

AND age in (18,19)

db.test.find({
"update_time":{$gte:ISODate("2020-11-10 16:00:00"),$lte:ISODate("2020-11-11 16:00:00")},
"age":{$in:[18,19]}
})   #UTC时间

SELECT *

FROM test

WHERE name like "a%"

db.test.find( { name: /^a/ } )

select age,count(age)  

from test

group by age

having count(age) >2 ;

db.test.aggregate([
    {$group: {_id: "$age",count: { $sum: 1 }}},
    {$match: { count: { $gt: 2 } } }
])

SELECT COUNT(*) FROM test

db.test.count()

SELECT COUNT(age)  FROM test

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

SELECT DISTINCT(name)  FROM test where age=18;

db.test.distinct("name",{age:18})

EXPLAIN SELECT * FROM test WHERE name= "aa"

db.test.find( { name: "aa" } ).explain()
UPDATE test SET age = 19 WHERE name= "aa"

db.collTest.update({name:"aa"},{$set{age :19}},{multi:true})

 

update test set age = age +1 where name="aa"db.test.update({'name':'aa'},{$inc:{'age':1}}) 
delete from test where id<=10;db.test.remove({id:{$lte:10}})

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值