来自 新葡亰数据库 2019-11-06 09:27 的文章
当前位置: 澳门新葡亰app > 新葡亰数据库 > 正文

后生可畏.Document数据插入,相信大家都对插入数

本节首要:

简介

  • 安顿数据 INSERT
  • 立异数据 UPDATE
  • 除去数据 DELETE

风度翩翩.Document数据插入

再来回看一下事先大家练过的有的操作,相信大家都对插入数据、更新数据、删除数占领了全面包车型的士认知。那么在mysql中其实最着眼的不是那三大操作,而是查数据最重要,下节课知晓

二.Document数据删除

图片 1

三.Document数据更新

一、
在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括

1.使用INSERT实现数据的插入
2.UPDATE实现数据的更新
3.使用DELETE实现数据的删除
4.使用SELECT查询数据以及。


二、插入数据 INSERT
1. 插入完整数据(顺序插入)
    语法一:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);

    语法二:
    INSERT INTO 表名 VALUES (值1,值2,值3…值n);

2. 指定字段插入数据
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);

3. 插入多条记录
    语法:
    INSERT INTO 表名 VALUES
        (值1,值2,值3…值n),
        (值1,值2,值3…值n),
        (值1,值2,值3…值n);

 4. 插入查询结果
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) 
                    SELECT (字段1,字段2,字段3…字段n) FROM 表2
                    WHERE …;

三、更新数据UPDATE
语法:
    UPDATE 表名 SET
        字段1=值1,
        字段2=值2,
        WHERE CONDITION;

示例:
    UPDATE mysql.user SET password=password(‘123’) 
        where user=’root’ and host=’localhost’;
四、删除数据DELETE
语法:
    DELETE FROM 表名 
        WHERE CONITION;

示例:
    DELETE FROM mysql.user 
        WHERE password=’’;

 

图片 2

大器晚成.Document多少插入

 

1.插入文书档案

  db.[文档名].insert({BSON数据})

2.批量插入文书档案

shell此中不扶助批量布署,想做到批量插入操作,能够动用shell的for循环,恐怕别的高等语言个中的批量操作方法

例:使用for循环插入十三个学子,在上学的孩童汇集个中

图片 3

自个儿动用的是2.6的版本,开掘早就支撑了批量铺排操作。

详见:

http://q.cnblogs.com/q/80127/

3.Save操作

save操作和insert操作的分别在于,save在遭逢_id相符的插入数据时候,会覆盖原本的,而insert会提示错误

例子:

用insert的方法去插入叁个_id相仿的数据

图片 4

 

 

二.Document数据删除

1.刨除列表中具备数据

   db.[文档名].remove({}) 群集的作者和目录不会别删除

事例:删除列表中有着数据

图片 5

2.基于标准删除

例: 删除_id为10的那条记下    

图片 6

 

三.Document数据更新

1.一直覆盖更新

 db.[文档名].update({查询器},{修改器})

{查询器}就一定于是条件

{修正器}正是你要直接覆盖替换的BSON数据

 例:更新_id为9,那多少个学子,把Name形成age

图片 7

 

 

注意:当主键冲突的时候会报错况兼截止更新操作

例:我用_id为8的数据,去替换_id为9的记录,因为_id为8的数额已经存在,不允许有七个主键为_id:8

的笔录,所以会报错。

图片 8

 

2.利用insertOrUpdate的做法举行更新

db.[文档名].update({查询器},{修改器},true)

后边第四个参数为true,就象征是当记录海市蜃楼的时候,就插入一条记下,就算存在就修正

例:更新一个_id为10的数据,未有就插入,有就创新

图片 9

 

3.批量更新操作

 db.[文档名].update({查询器},{修改器},false, true)

※私下认可情形当查询器查询出多条数据的时候私下认可就校正第一条数据       

先修正一下数目如下:

让_id为9和10的多少,有相似的剧情

 图片 10

 再插入八个_id=11,age=20的数据

 图片 11

 第多少个参数不写之处下来更新:

 如下:只可以更新第叁个age=20的多寡

 图片 12

 第八个参数增加况兼为true的时候,大家预料是10和11都能被改良

 然而当笔者寻思去立异的时候,报错了,提醒说批量更新只好在有$操作的时候利用

 图片 13

 改正插入语句

 这里注意$set后边要有":",并且它和它背后的修正器要被{}包起来,因为自己先是次利用mongoDB,所以总写错。

 图片 14

 4.用到改正器来产生都部队分更新操作 

$set 它用来钦命三个键值对,如果存在键就实行更改官样文章则开展增多

{$set:{field:value}}

_id为10的多寡,未有Name属性,实行了增进,有age键,就进展了更动

图片 15

$inc

1.适用于数字类型

2.能够对键对应的数字类型数值实行加减操作

{$inc:{field:value}}

给age=30的数量扩展2岁,由于并未有动用批量创新参数,所以默许改进了第一条

图片 16

 $unset 删除内定的键

{$unset:{field:1}}

自家在例子里面先是删除了age=30的数码的age属性,可是有好几不理解,unset前边那二个田野:1是怎么样,于是本人查了生机勃勃晃,说是后边是怎么都不留意,unset只看键不看value,于是又做了第三个例子

图片 17

 $push

1.万一钦定的键是数组增追加新的数值

2.要是钦命的键不是数组则中断当前操作,报错

3.如果子虚乌有内定的键则创制数组类型的键值对

{$push:{field:value}}

图片 18

$pushAll

用法同上,是批量增加数组数据的操作

{$pushAll:{field:array}}

1.第4个操作未有用$pushAll,所以把["C#","JAVA"]正是贰个数组项目管理了

2.次之个操作使用了$pushAll,所以当成了两项来拍卖的。

图片 19

$addToSet

往数组中增多项目,存在就不增加,空头支票就增进(push不管存不设有都加多卡塔 尔(阿拉伯语:قطر‎

{$addToSet:{field:value}}

1.先用push插入,发掘更新达成后有五个“C#”

2.再用addToSet更新,发掘并未有增添项目

图片 20

$pop

从钦赐数组删除叁个值1删除最终一个数值,-1删减第三个数值

{$pop:{field:value}}

1.刨除最终三个目录地方的多少,前边的value用"1"

2.去除第一人置索引的数量,value=-1

图片 21

$pull push的逆向操作,删除键是数组的类型中的内定元素

{$pull:{field:value}}

图片 22

 $pullAll  批量删减数组中的钦定成分

{$pullAll:{field:array}}

图片 23

 $   数组定位器,假诺数组有七个数值大家只想对内部生龙活虎部分张开操作大家将在动用定位器($)

 {$push:{field:value}}

1.实例第贰个是在刚刚清空的数组里面加多了多少个因素

2.自己想在{“SubID”:1,"SubName":"MangoDB"}那么些指标里面再增多"Teacher":"露西"

图片 24

图片 25

5.$addToSet与$each结合产生批量数组更新

略知风流倜傥二:首先从地点的例证中大家精晓,addToSet这几个改过器,能够推断是还是不是项目设有,不设有时就直接插入。

那时候本身有多少个效能,比方小编想往二个留存多少的数组中批量翻新数据,倘使存在就不更新。那么只使用addToSet是不可能开展批量的,于是将要结合$each来达成。

例:

1.新创造三个文书,并动用pushAll改过器增加数据:

图片 26

2.自家想要批量插入"C#","PHP","JavaScript","JAVA",需要无法有再次的

倘若此刻笔者平素用pushAll来展开立异的话,"C#"和"JAVA"就能有再度

在shell个中输入如下命令:

> db.Student.update({_id:10000},{$addToSet:{Books:{$each:["C#","PHP","Javascript","JAVA"]}}})

图片 27  

小结:以上正是MongoDB的Document的插入、删除以致更新的使用。

本文由澳门新葡亰app发布于新葡亰数据库,转载请注明出处:后生可畏.Document数据插入,相信大家都对插入数

关键词: