MongoDB

非关系型数据库(注意:MongoDB、Redis不支持Sql语句华为事务的处理,但是NewSql:既是非关系型数据库,但是支持Sql语句)

本文主要讲MongoDB

一:优势:

1.易扩展: NoSQL数据库种类繁多, 但是⼀个共同的特点都是去掉关系数据库的关系型特性。 数据之间⽆关系, 这样就⾮常容易扩展

2.数据量, ⾼性能: NoSQL数据库都具有⾮常⾼的读写性能, 尤其在⼤数据量下, 同样表现优秀。 这得益于它的⽆关系性, 数据库的结构简单

3.灵活的数据模型: NoSQL⽆需事先为要存储的数据建⽴字段, 随时可以存储⾃定义的数据格式。 ⽽在关系数据库⾥, 增删字段是⼀件⾮常麻烦的事情。 如果是⾮常⼤数据量的表, 增加字段简直就是⼀个噩梦

二:下载方式:

1.linux终端命令:sudo apt-get install -y mongodb

2.网络下载:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

三:终端操作命令

1.启动服务端

        sudo mongod( 注意:默认端口27017)

      报出如下错误,表示默认的存储数据目录 /data/db 不存在:[initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating

        创建 /data目录和 /data/db 目录,并指定 读/写/执行 权限

        python@ubuntu:~$ sudo mkdir -p /data/db

        python@ubuntu:~$ sudo chmod 777 /data/db

2.mongodb客户端的操作

        启动

        mongo

        2.1关于库的操作:

        2.11查看所有数据库

        show dbs

        2.12切换库

        use stu

       2.13 创建库:使用切换,如果没有会自己建,但是必须要把表也创建了

        use stu

        创建集合(表)

        db.createCollection("aaa")

       删除库(先切换到库,才能删除)

        use stu

       db.dropDatabse()

 

        2.2.操作集合(表)

        先进入到库进行操作

         use 库名

         2.21查看库里所有集合

           show collections

        2.22创建集合

        db.createCollection("集合名称 ")

        2.23查找集合的所有内容

        db.集合名称.find()

        2.24删除集合

        db.集合名称.drop()

  

      

       2.3.文档(表内容)操作

       先进入到数据库

       2.31增加(插入)(注意:如果此时没有集合,那么自动创建):

        方法一:db.集合名称.insert(name:"张三")

         方法二:dict_data = {name:"张三",age:10}

                        db.集合名称.insert (dict_data)

       2.32删除:

       1.删除所有:

        db.集合名称.remove({})

        2.符合key:value的都删除

       db.集合名称.remove({key:value})

        3.指定一个删除(默认删除符合条件的第一个)

        db.集合名称.remove({key:value},{justOne:true})

 

      2.33更改:

       1.默认删除其他字典

         db.集合名称.update({查询条件},{修改内容})

        例子:db.集合名称.update({age:16},{name:"李四"})

       2.只修改字段,其他字段不动,(注意:只修改符合条件的第一个)

       db.集合名称.update({age:16},{$set:{name:"李四"}})

       3.只修改字段,其他字段不动,(注意:修改符合条件的所有)

      db.集合名称.update({age:16},{$set:{name:"李四"}}, {multi:true})

       2.34.查询

       查询所有:

      db.集合名称.find()

      查询符合此条件的所有数据

     db.集合名称.find({gender:false})

 

三:mongodb中常见的数据类型

Object ID: ⽂档ID

String: 字符串, 最常⽤, 必须是有效的UTF-8

Boolean: 存储⼀个布尔值, true或false

Integer: 整数可以是32位或64位, 这取决于服务器

Double: 存储浮点值

Arrays: 数组或列表, 多个值存储到⼀个键

Object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档

Null: 存储Null值

Timestamp: 时间戳, 表示从1970-1-1到现在的总秒数

Date: 存储当前⽇期或时间的UNIX时间格式

 

       

 

  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值