MongoDB 与 SQL 的简单语法对比

本文对比了SQL与MongoDB的基本操作,包括查询、添加、删除和更新数据等常见任务的实现方式。通过具体示例说明两种数据库系统的不同之处。

1. 查询 

SQL语句:

select top 200 * col1 

select top 20 * from col1 where key1_0='value101_0'

select * from col1 $rowid(201,203)  //查询第M条到第N条命令 (实际m+1,n+1, 起始数据从0开始标号)

select * from col1 order by val  //根据某column排序,默认为asc ,降序为desc

 

 

命令:

查找一条命令 db.foo.findOne()     //foo为指定数据库名

查找指定条数命令 db.foo.find().limit(2000)

查询有限制条件的命令   db.col1.find({key1_0:’value101_0’}).limit(2)

查询第M条到第N条命令 (实际从m+1,n+1, 起始数据从0开始标号) db.col1.find().skip(200).limit(3)

查询排序  db.col1.find().sort({name:-1})  -1 代表降序,1 代表升序   (在此,mongodb,定义任意正数,为升序,任意负数为降序,0为升序,+8/-8/0 ——缺陷)

 

--------------------------------------------------------------------------------------

2. 添加

 

SQL语句:

insert into col1 (a,b,c,d,e,f,g,h,i,j) values(1,2,3,4,5,6,7,8,9,20)   //在原有表内添加数据

insert into col1 (a,b,c,d,e,f,g,h,i,j) values(1,2,3,4,5,6,7,8,9,20)   //新建表并加入数据

 

命令:

添加数据,并自动存储在最后 db.col1.save({key:1,val:1})

db.col1.save({_id:40,count:40,test1:"OK"});  //如果test0内有_id等于40的,会替换,否则插入。

db.col3.save({id:1,name:”zq”})   //新建collection并加入数据

 

--------------------------------------------------------------------------------------

 

3. 删除

 

SQL语句:

delete from col11 where j=11   //删除j=11 行 (若有相同j=11,则一起删除)

delete from col11   //删除表内的数据,但表还存在

delete * from col11  //这个语句不能使用。

delete table col3  //这里没有实现此功能

 

命令:

删除表内的某行数据  db.col11.remove({j:1})

删除整个表内的数据  db.col11.remove()

删除整个表  db.col3.drop()

 

--------------------------------------------------------------------------------------

 

 

4. 更新数据

 

SQL语句:

update col3 set id=2 where id=1  // 更新表内某行数据值 ,若此对应多条,则一起更新。

update col11 set a=2,b=4,c=0 where a=1   //更新某行多个给数据值。

 

命令:

如果test0内有_id等于40的,会替换,否则插入  db.col1.save({_id:40,count:40,test1:"OK"});  // 

使用$inc,使数字字段增加value ,用法{ $inc : { field : value } }   db.col1.update( { } , { $inc : { "id" : 1 } } )

详细其他语法参见:http://www.mongodb.org/display/DOCS/Updating

 

 

 

帮助命令(有任何问题用帮助):

Ø Help

Ø db.help()

Ø db.foo.help()

转载于:https://www.cnblogs.com/sourire/archive/2010/07/07/1772800.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值