900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mysql curd操作_(四):CURD操作详解(增删改查)

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

时间:2021-03-28 23:34:11

相关推荐

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

基本操作:增删改查

一、增

增: insert

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

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

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'}

]

)

二、删

删:remove

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

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

注意

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

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

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

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

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

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

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

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

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

.

三、改

改 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’}})

修改时的赋值表达式

$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}});

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

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

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’的文档,将被修改

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

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

例:

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

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

四、查

查: find, findOne

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

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

例1:db.stu.find()

查询所有文档 所有内容

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

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

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。