mysql curd操作_(四):CURD操作详解(增删改查)

基本操作:增删改查

一、增

增: insert

介绍: mongodb存储(单位)的是文档,. 文档是json格式的对象.

语法: db.collectionName.isnert(document);

af94ed0760286629c0b59b2c82610947.png

1、增加单篇文档

db.collectionName.insert({title:’nice day’});

2、增加单个文档,并指定_id

db.collectionName.insert({_id:8,age:78,name:’lisi’});

3、增加多个文档

db.collectionName.insert(

[

{time:'friday',study:'mongodb'},

{_id:9,gender:'male',name:'QQ'}

]

)

b0a89feb1c14d330216a95925e6027fe.png

二、删

删:remove

语法: db.collection.remove({}查询表达式}, 选项);

选项是指  {true/false},是否只删一行, 不写默认为false

注意

1: 查询表达式依然是个json对象

2: 查询表达式匹配的行,将被删掉.

3: 如果不写查询表达式,collections中的所有文档将被删掉.(db.stu.remove({});)

例1: db.stu.remove({stunum:’001’});

删除stu表中 sn属性值为’001’的文档

330ada3d117554293646a3db928244cf.png

例2: db.stu.remove({gender:’f’});

删除stu表中gender属性为f的文档,删除符合的所有行.

23f4ea24267fe24d84dc5caa6df85e5d.png

例3: db.stu.remove({gender:’f’},true);

删除stu表中gender属性为f的文档,只删除一行

.

8c0ca2d020bd89a1cb1db83d2248b48b.png

三、改

改  update操作

改谁? --- 查询表达式

改成什么样? -- 新值 或 赋值表达式

操作选项 ----- 可选参数

语法: db.collection.update(}查询表达式},{新值},{选项option});

例:

db.news.update({name:'QQ'},{name:'MSN'});

是指选中news表中,name值为QQ的文档,并把其文档值改为{name:’MSN’},

结果: 文档中的其他列也不见了,改后只有_id和name列了.修改的那列的其他东西也没有了

即--新文档直接替换了旧文档,而不是修改

如果是想修改文档的某列,可以用$set关键字

db.collectionName.update(query,{$set:{name:’QQ’}})

c8a6334f5f36adb73f7f1e10fe73921b.png

修改时的赋值表达式

$set  修改某列的值

$unset 删除某个列

$rename 重命名某个列

$inc 增长某个列

$setOnInsert  当upsert为true时,并且发生了insert操作时,可以补充的字段.

{

name:'wukong',

jingu:true,

sex:'m'age:500}

需求:修改name为dzsff

去掉jingu

将sex重命名为gender

将age自增一岁

(

$set:{name:'dzsff'},

$unset:{jingu:1},

$rename:{sex:'gender'},

$inc{age:16}

)

db.stu.update({name:'wukong'},{$set:{name:'dzsff'},$unset:{jingu:1},$rename:{sex:'gender'},$inc:{age:16}});

13ff8fb95c5f2c9363fa4ad0a1fc02ac.png

上面的 $setOnInsert要与option一起使用:

$setOnInsert  当upsert为true时,并且发生了insert操作时,可以补充的字段.

416a7c302be2dddc9fd94a4351cfa031.png

option的作用:

{upsert:true/false,multi:true/false}

1、upsert---是指没有匹配的行,则直接插入该行.(和mysql中的replace一样)

例:db.stu.update({name:'wuyong'},{$set:{name:'junshiwuyong'}},{upsert:true});   如果没有{upsert:true}时,先查看表达式符合则修改,没有也不添加

如果有name=’wuyong’的文档,将被修改

如果没有,将添加此新文档

98e0080e55b715f4c514b27a4e727951.png

2、multi: 是指修改多行(即使查询表达式命中多行,默认也只改1行,如果想改多行,可以用此选项)

例:

db.stu.update({gender:'m'},{$set:{gender:'male'}},{multi:true});

则把stu中所有gender:'m'的文档,都修改

911aad22b4bb89518e1f2a4b307d1fb1.png

四、查

查: find, findOne

语法: db.collection.find(查询表达式,查询的列);

db.collections.find(表达式,{列1:1,列2:1});

例1:db.stu.find()

查询所有文档 所有内容

例2: db.stu.find({},{gender:1})

查询所有文档,的gender属性 (_id属性默认总是查出来,默认所有都查出来(有无性别都被查出来))

dfab71e52f90b390c65c6bc026eca1a0.png

例3: db.stu.find({},{gender:1, _id:0})

查询所有文档的gender属性,且不查询_id属性

b23a21e11eca20c49bf0a4227b0893f9.png

例3: db.stu.find({gender:’male’},{name:1,_id:0});

查询所有gender属性值为male的文档中的name属性

6d6c0459d2603f15e843f35a6560c702.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值