基本操作:增删改查

一、增

增: 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属性

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

  1. python单链表操作_单链表的创建、增删改查等操作(Python实现)

    单链表的创建.增删改查等操作(Python实现) # 单链表 class Node: def __init__(self, elem): self.elem = elem self.next = No ...

  2. java从入门到精通二十四(三层架构完成增删改查)

    java从入门到精通二十四(三层架构完成增删改查) 前言 环境准备 创建web项目结构 导入依赖和配置文件 创建层次模型 实现查询 实现添加 实现修改 完成删除 做一个用户登录验证 会话技术 cook ...

  3. java mysql分层_java-数据库连接,分层实现增删改查测试

    packagecom.zhidisoft.dao;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Resul ...

  4. Spring Boot 学习[四] web项目实战训练(增删改查,分页,排序)

    Spring boot非常适合Web应用程序开发.您可以轻松创建自包含的HTTP应用.web服务器采用嵌入式Tomcat,或者Jetty等. 几点说明: Spring boot开发web项目,通常打成 ...

  5. GZFramwork数据库层《四》单据主从表增删改查

    同GZFramwork数据库层<三>普通主从表增删改查 不同之处在于:实例 修改为: 直接上效果: 项目源码下载地址:https://github.com/GarsonZhang/GZFr ...

  6. 【02】Java进阶:18-MySQL基础、数据库概述、数据库的安装/卸载/启动/登录、SQL概述、DDL操作数据库、DDL操作表、DML增删改查、

    day18-MySql基础 今日内容 数据库概述 数据库安装和卸载 SQL语句 DDL-----操作数据库,操作表 DML-----操作记录(增删改) DQL------操作记录(查) 学习目标 能够 ...

  7. HBase--JavaAPI的操作,创建表修改表,增删改查数据

    DDL: public class HbaseClientDemo {Connection conn = null;@Beforepublic void getConn() throws Except ...

  8. mysql如何修改学生表_MySQL 详细单表增删改查crud语句

    MySQL 增删改查语句 1.创建练习表 这里练习表没有满足三范式 第一范式(又称 1NF):保证每列的原子性 数据表中的每一列(字段),必须是不可拆分的最小单元,也就是确保每一列的原子性.满足第一范 ...

  9. pymysql语法_如何使用PyMySQL模块进行增删改查?

    PyMySQL模块进行增删改查的操作.简单来讲,核心步骤有两步:链接数据库,读取CSV文件并导入数据表,然后查询数据,将数据表和计算结果导出为CSV文件.下面一起来具体看看吧~ Step1:安装PyM ...

  10. mysql sqlsugar_.net core +mysqlSugar(最为简单的增删改查)

    首先建立.net Core API - empty 这个就不说了 然后创建新的Controller 记得添加路由 [Route("api/Users")] 然后在Nuget Pac ...

最新文章

  1. group by是否会用到索引_平时工作中经常用到的SQL,这些你都知道吗?
  2. 英特尔更新人工智能产品线,新品性能达到竞品6倍
  3. 2021-10-11 二叉树中查找值为key的结点
  4. Go的遍历map与slice的区别:map无序slice有序
  5. 团队作业_1_博客1(分工理解)
  6. 进程间通信之共享内存
  7. vs2005 pro 在浏览器查看下的一个问题!
  8. 9种让肌肤美白的简单方法 - 生活至上,美容至尚!
  9. ios项目 swift 定义常量 其他文件引用_面试应该注意的Swift知识点
  10. Python 面向对象高级编程——定制类
  11. 深度学习模型训练的一般方法(以DSSM为例)
  12. 一个光标绘制问题的解决过程
  13. C语言图书借阅管理系统
  14. R语言使用:符号生成向量数据、使用pie函数可视化饼图、自定义设置饼图色彩为彩虹色
  15. 九度1035 -树 - 找出直系亲属
  16. 生命以负熵为生:Web3行业2022年之怪现象
  17. CentOS中利用iso介质来安装软件
  18. NYoj 239 :月老的难题(二分图最大匹配)
  19. 100天精通Python(基础篇)——第19天:练习题:我要买票吗
  20. 2021-07-28

热门文章

  1. java quartz 时间配置文件_Spring Quartz如何动态配置时间(3)
  2. python bool类型_Python 的内置数值类型
  3. Redis设置外网可访问
  4. httpClient 超时时间设置
  5. qt 删除文件夹_Qt 贪吃蛇制作(含源码)
  6. 循环中 动态参数 传div 层_【转载】黄学杰等:铌元素在锂离子电池中的应用
  7. cs224n上完后会会获得证书吗_斯坦福NLP组-CS224n: NLP与深度学习-2019春全套资料分享...
  8. 方差分析 球形检验_重复测量数据的方差分析
  9. php集成阿里MNS消息服务
  10. 一位Java大牛的BAT面试心得与经验总结,挥泪整理面经