非关系型数据库(MongoDB)的安装和常用命令

数据库的分类:

1、非关系型数据库
2、关系型数据库

关系型数据库:关系模型来组织数据库

关系模型:二维表格模型(行和列),一个关系型数据库是由一个二维表及其之间的联系组成的一个数据组织
常用的概念:
    关系:表名,也叫关系名
    元祖:行,被称为记录
    属性:列,被称为字段
    域:属性的取值范围
    关键字:一组数据中唯一可以标识元祖的属性
    关系模式:指的是对关系的描述。格式为关系名(属性1.。。。属性N),在数据库中称为表结构
优点:
    1.易于维护:表结构一致
    2.使用方便:SQL语言是通用的,可以用于复杂查询
    3.容易理解:
缺点:
    1.读写性能差,海量数据的效率低
    2.固定的表结构,灵活度差
    3.存储,高并发读写需求,硬盘I/OS是一个问题
常用的关系型数据库:
    MySql,Sql server,Oracle,DB2,postgreSql,Microsoft SQL Server

非关系型数据库:

严格来说不是一种数据库,是一种数据结构化存储方法集合,可以是文档或者键值对形式。
根据特定需求出现:
1.高性能并发读写的key-value的数据库:REDIS
2.面向海量数据访问的文档类型数据库:mongoDB
3.面向搜索数据内容的搜索引擎:Elasticsearch
4.面向可扩展性的分布式数据库:Microsoft Azure Cosmos DB
优点:
    1.格式灵活,适用于大数据
    2.速度快:nosql可以使用硬板以及随机存储器作为载体
    3.成本低:都是开源软件
    4.高扩展性
缺点:
    1.不提供sql支持
    2.无事务处理
    3.数据结构相当复杂,复杂查询有点问题

如何判断MongoDB数据库是否安装成功

mongodb是否安装成功?

查找自己的mongoDB是否安装成功的路径:
第一步:找到自己电脑的系统盘里面(一般都是C盘)
第二步:找到Program Files文件
第三步:找到MongoDB文件,然后找到当前文件夹下的Server ——> 3.4 ——> bin文件
如果和上面的方式查找到bin文件,那么就把你这个的文件路径复制下。

配置文件路径

在这里插入图片描述
然后选择“高级系统设置”,然后进去了之后再点击“环境变量按钮”,然后进入到下面的窗口:
在这里插入图片描述
然后选择上面的PATH就会出现下面的这个界面:
在这里插入图片描述
再就是将刚刚你复制的bin文件的路径粘贴到这个的后面,在粘贴之前要打上一个分号,然后保存。

使用数据库
1.创建一个新的文件夹,这个文件夹就是数据库
2.数据库开机
mongod --dbpath 文件夹路径
链接数据库的表现:如果链接成功了最后的代码就是这样的: waiting for connctions prot : 27017
笔记本注意电脑权限
开机以后当前的cmd命令窗口就不要动了,因为数据库也是一种服务
3.使用数据库
打开一个新的cmd命令窗口,连接数据库mongo

操作数据库的命令

1.show dbs 列出所有数据库
admin local 系统数据库
2.use school 创建并使用数据库
3.db 查看当前所在数据库
4.db.createCollection(“student”) 创建集合
4.添加数据:单条数据 db.student.insert({“name”:“jack”,“age”:18})
多条数据 db.student.insertMany([{“name”:“jack”,“age”:19},{“name”:“jack”,“age”:20}])
5.导入数据:
一定是重新打开一个新的cmd命令窗口
mongoimport --db 数据库名称 --collection 集合名称 –drop --file 文件路径
6.删除数据:
单条数据:db.student.remove({“name”:“jack”}) db.student.remove({“name”:“jack”},1)
多条数据:db.student.remove()
7.修改数据:
替换:db.student.update({“name”:“张三”},{“name”:“jack”})
修改:db.student.update({“name”:“张三”},{KaTeX parse error: Expected 'EOF', got '}' at position 20: …{"name":"jack"}}̲) 8.查找数据: …gt:60}})
db.student.find({“score.yuwen”:{KaTeX parse error: Expected 'EOF', got '}' at position 6: lt:60}̲}) db.s…or:[{“score.yuwen”:99},{“age”:24}]})
9.排序
db.student.find().sort({“age”:1,“score.yuwen”:-1})

10.分页
一页只显示5条数据,page = 0
0:1~5 db.student.find().limit(5)
1:6~10 db.student.find().limit(5).skip(5)
2: db.student.find().limit(5).skip(10)
db.student.find().limit(5).skip(page * 5)
limit(num) 读取几条数据
skip(num) 过滤几条数据
11、db.stats(); 显示当前db的状态
在这里插入图片描述

12、db.version(); 当前db版本

> db.version();
3.4.10

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

> db.getMongo();
connection to 172.16.40.205:27017

14、db.dropDatabase(); 删除当前使用数据库

> db.dropDatabase();
{ "dropped" : "test_1", "ok" : 1 }
mongodb find查询文档

基本语法:

db.表名.find({'key':'value'});

实例:

> show dbs;
admin 0.000GB
easy-mock 0.001GB
local 0.000GB
> use easy-mock
switched to db easy-mock
> db
easy-mock
> show collections;
groups
mock_counts
mocks
projects
user_group
user_project
users
> db.users.find({'name':'xiaoming'});
{ "_id" : ObjectId("5bc859307e81d95b15f67c5c"), "head_img" : "//img.souche.com/20161230/png/fd9f8aecab317e177655049a49b64d02.png", "nick_name" : "1539856688465", "password" : "$2a$08$7mAecPo6N8ATesAxfKrPG.wb10Ns.LfntUNkce7p2pAJ0kAvW3fPm", "name" : "xiaoming", "create_at" : ISODate("2018-10-18T09:58:08.465Z"), "__v" : 0 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值