zoukankan      html  css  js  c++  java
  • android开发学习 ------- MongoDB数据库简单理解

    首先说一下MongoDB是什么?

    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

    MongoDB 是一个基于分布式文件存储的数据库。

    NoSQL (not only sql)是对不同传统的关系型数据库的数据库管理系统的统称。不需要遵循关系型数据库的ACID规则,

    用于超大规模数据的存储,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。

    ************************************************************************************

    关系型和非关系型的对比:

    RDBMS
    - 高度组织化结构化数据
    - 结构化查询语言(SQL) (SQL)
    - 数据和关系都存储在单独的表中。
    - 数据操纵语言,数据定义语言
    - 严格的一致性
    - 基础事务

    NoSQL
    - 代表着不仅仅是SQL
    - 没有声明性查询语言
    - 没有预定义的模式
    -键 - 值对存储,列存储,文档存储,图形数据库
    - 最终一致性,而非ACID属性
    - 非结构化和不可预知的数据
    - CAP定理
    - 高性能,高可用性和可伸缩性

    NoSQL强调 Key-Value   Stores  和  文档数据库  的优点,而不是单纯的反对RDBMS。

    NoSQL的优点/缺点

    优点:

    • - 高可扩展性
    • - 分布式计算
    • - 低成本
    • - 架构的灵活性,半结构化数据
    • - 没有复杂的关系

    缺点:

    • - 没有标准化
    • - 有限的查询功能(到目前为止)
    • - 最终一致是不直观的程序

    *****************************************************************************

    MongoDB是文档存储类型的,文档存储一般用类似json的格式存储,数据结构由键值(key=>value)对组成,存储的内容是文档型的。

    这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。

    ******************************************************************************

    MongoDB的安装配置:

    这个自己百度,教程很多,https://jingyan.baidu.com/article/e52e36156372ce40c60c5194.html

    http://www.runoob.com/mongodb/mongodb-window-install.html

    安装好测试成功之后,安装可视化工具 Robomongo.

    反正我当时在安装配置和连接的时候碰到好多坑,当时也没记录,总之都是百度可以解决的问题。

    *******************************************************************************

    RDBMS 与 MongoDB 对应的术语:

    1. 文档中的键/值对是有序的。
    2. 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
    3. MongoDB区分类型和大小写。
    4. MongoDB的文档不能有重复的键
    5. 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。  

     **************************************************************************

    了解了上述基本概念后,最重要还是CRUD操作。

    show dbs:显示数据库列表 

     

     show  collections:显示当前数据库中的集合(类似关系数据库中的表)

     

    use   db name:切换当前数据库  -  将local切换为admin

     

    db.dropDatabase(); 删除当前数据库

     db.getMongo();  查看当前db的链接机器地址

       显式地创建一个新的集合:

    db.createCollection(<name>, { capped: <boolean>,
                                  autoIndexId: <boolean>,
                                  size: <number>,
                                  max: <number>,
                                  storageEngine: <document>,
                                  validator: <document>,
                                  validationLevel: <string>,
                                  validationAction: <string>,
                                  indexOptionDefaults: <document> } )

     

    这个命令创建名字为“user”,最大存储空间为 5m,最多 5000 个文档的集合.

     添加数据:没有固定的列,根据添加的数据为准。

     

    修改数据 :相当于 update user set name='王五'  where  age = 33;

    删除数据:

     查询数据:

    1: select  *  from user;

    2: select distict name from user;  过滤掉name中的相同数据。 

          根据列过滤数据 。

     3: select * from user where age = 15; 

    4:  select * from user where age >15;

     5:  select * from user where age <22;

     

    6:select * from user where age >= 25;

    7: select * from user where age <= 25;

     

    8:  

     9:   select  *  from user where name like '%呵%';  模糊查询

    10:  select name, age from user;

    当然name也可以用true或false,当用ture的情况下河name:1效果一样,如果用false就是排除name,显示name以外的列信息。

     11:select name, age from user where age >25;   查询指定列的数据。

     12:按照年龄升序排列

     

      降序排

    13:select * from user where name = '呵呵' and age = '85'

    14:select  top  2  *  from user;  查询前两条数据

     15:查询2条以后的数据 

    16:查询在 2-4 之间的数据。可用于分页,limit是pageSize,skip是第几页*pageSize 

    17:select * from user where age = 15 or age = 85;

    18:查询第一条数据

    19:查询某个结果集的记录条数   select count(*) from user where age >= 15;

    平时我用到的查询语句就是这么多了,更多的语句参考 https://www.cnblogs.com/garinzhang/p/mongoDB_basic_usage.html  

  • 相关阅读:
    UVaLive 7362 Farey (数学,欧拉函数)
    UVaLive 7361 Immortal Porpoises (矩阵快速幂)
    UVaLive 7359 Sum Kind Of Problem (数学,水题)
    CodeForces 706D Vasiliy's Multiset (字典树查询+贪心)
    负载均衡服务器
    集群-如何理解集群?
    架构规划
    领域模型
    状态图
    E-R图
  • 原文地址:https://www.cnblogs.com/mengxiao/p/8480512.html
Copyright © 2011-2022 走看看