mongoDB数据库学习笔记1——简介、启动、操作MongoDB数据库

一、简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。

1,NoSql

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。

关系型数据库具有acid的特性,即原子性(所有事务同事成功或失败)、一致性(数据库处于一致的状态)、独立性(并发的事务之间不会互相影响)、持久性(一旦事务提交后,它所做的修改将会永久的保存在数据库上)。

与关系型数据库相比较,nosql的优势在于更能适应分布式系统。根据我不完全的理解,关系型数据库插入一条数据,如果有主键,它就要查遍所有数据,确认是否合适,而NoSql数据库分布在不同的节点,先插了再说,速度肯定更快。

因此NoSql的优缺点:

优点:

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

缺点:

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

2,NoSql的分类

类型 部分代表 特点
列存储

Hbase

Cassandra

Hypertable

顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。

文档存储

MongoDB

CouchDB

文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有机会对某些字段建立索引,实现关系数据库的某些功能。

key-value存储

Tokyo Cabinet / Tyrant

Berkeley DB

MemcacheDB

Redis

可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)

图存储

Neo4J

FlockDB

图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。

对象存储

db4o

Versant

通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。

xml数据库

Berkeley DB XML

BaseX

高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。

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

二、MongoDB启动

下载地址:

https://www.mongodb.com/download-center/v2/community

安装很简单。

mongoDB也有一个可视化工具,下载地址如下:https://studio3t.com/

启动mongDB服务:

mongod --dbpath d:\data\db

即会启动mongoDB服务:

之后根据bin下的mongo.exe启动mongoDB

mongo.exe

进入mongodb:

三、操作MongoDB数据库

 1,创建数据库
  语法:use 数据库名
  注意:a.如果数据库不存在则创建数据库,否则切换到指定的数据库
   b.如果刚刚创建的数据库不在列表内,如果要显示它,我们需要向刚刚创建的数据库插入一些数据

  db.stu.insert({name:"json",age:18})
  插入数据之后,可以显示(stu类似于表名,是一个集合,插入的数据是bson,默认操作所有的东西都要加db)

  > show dbs
  admin   0.000GB
  config  0.000GB
  day01   0.000GB
  local   0.000GB

 2.删除数据库
  前提:使用当前数据库(use 数据库名)
  示例: use test
   db.dropDatabase()
 3.查看所有数据
  show dbs 
 4.查看当前正在使用的数据库
  a.db
  b.db.getName()
 5.断开连接
  exit
 6.查看命令api
  help
  db.stu.help()
  通过***.help()可以找到相关的帮助

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_22059611/article/details/83188305