内容简介:###数据库分类特征: 使用键值(Key Value)储存数据关系型数据库和非关系型数据库区别:关系型数据库比较结构化,操作不是很灵活,菲关系型数据库操作灵活,但不适合大型数据存储,比较适合微架构,两者是相辅相成的关系
数据库(Database)基本概念:
- 数据库就是按照一定的数据结构来组织,储存和管理数据的仓库
- 我们写的程序都是在内存中运行的,一旦程序运行结束或者计算机断点,程序运行中的数据就会全部丢失;所以我们就需要将一些程序的数据持久化到键盘之中,以确保数据的安全性。
- 数据库则是大批量数据持久化的普遍选择,1.文件 2. 数据库
为什么都采用数据库来储存数据:
- 数据库是有结构的
- 数据库可以提供各种接口,让数据处理(增删改查)快捷方便
- 各种语言(PHP jsp .net..)提供了完善的接口
###数据库分类
- ROBMS(关系型数据库):
- Nosql (非关系型数据库):
- 没有行 、列的概念 用json类储存数据
- 集合相当于“表”,文档相当于“行”
- 标准化和非标准化的摩擦。
- 标准化限制创新,非标准话不能统一
特征: 使用键值(Key Value)储存数据
关系型数据库和非关系型数据库区别:关系型数据库比较结构化,操作不是很灵活,菲关系型数据库操作灵活,但不适合大型数据存储,比较适合微架构,两者是相辅相成的关系
非关系型数据库使用方面:
- 数据模型比较简单
- 需要灵活性更强的后台系统
- 对数据库性能要求比较高
- 不需要高度的数据一致性
非关系型数据库主要适合小微型架构的使用
MongoDB数据库安装
MongoDB(非关系型数据库):
- 适合快速开发web应用而设计的数据库系统
- 设计目标是极简、灵活、经常在web应用栈的业务层被运用
- 它的数据模型是面向文档的,类似于json的结构
- 所以这个数据库中是各种各样的json, 并以键值形式对存储
安装: 下载:www.mongodb.com/ 偶数是稳定版,奇数是开发版 最好下载64位的系统版本的
配置环境变量:
- 新建--->安装到bin路径复制到环境变量
- 创建data->db文件夹
- 打开命令行输入mongod启动DB服务器
- 指定端口号和路径 mongod --dbpath d:\data\db
- 将MongDB设置为系统服务,data\log 创建配置文件在bin下穿件文件mongod.cfg 执行一段命令:
sc.exe create MongoDB binPath= "\"F:\MongoDB\Server\3.2\bin\mongod.exe\" --service --config= \"F:\MongoDB\Server\3.2\mongod.cfg\"" DisplayName= "MongoDB" start= "auto" 复制代码
主要是让MongoDB一直运行在内存中 参考资料: www.cnblogs.com/wzlblog/p/6… www.cnblogs.com/chenlq/p/65…
MongoDB插入命令
MongoDB的组成:
- 数据库 数据库是一个仓库 在仓库里可以放集合
- 集合: 集合类似数组 在集合里可以放文档
- 文档:文档是数据库中最小的单位 我们储存和操作的内容都是文档。
基本指令: show dbs
显示当前所有的数据库 use
数据库名 进入到指定数据库 db
显示当前所在的数据库 show collections
显示数据库中的所有集合
使用管理员打开 cmd 输入 mongo
进入MongoDB的环境 进入MongoDB的环境才能执行MongoDB的命令 然后使用命令行进行CRUD(增删改查): db.<collection>.insert(doc)
举例子:想school数据库中的学生集合student中插入一个新的学生对象 增加一条数据: db.student.insert({id:"001",name:"znl",age:18,sex:“男”})
在当前的集合(school)中新建一条数据
查询一条数据: db.<collection>.find();
如: db.student.find();
回车 就能查询student下的所有数据 插入多条数据:
db.集合名.insert([ {name:"张三",age:18,sex:"man"}, {name:"张三",age:18,sex:"man"}, {name:"张三",age:18,sex:"man"}, {id:18,name:"张三",age:18,sex:"man"} ]); 复制代码
插入多条数据时把多条语句放在一个数组里 插入可随便插入 不必拘泥于字段是否相同 当插入的字段不存在时会自动创建该字段
查看更多更多操作: www.mongodb.org.cn/manual/
MongoDB 可视化工具
然而一直使用命令行操作是很麻烦的事情,所以推荐使用NOSQL可视化 工具 安装可视化工具下载地址: www.mongodbmanager.com/download
使用可视化工具
可视化工具 查找功能: 插入(insert)语句:
db.student(集合名字).insert([ {id:1,name:"znl",age:18}, {id:1,name:"znl",age:18}, ]); 复制代码
查询语句: db.student(集合name).find();
设定条件查询: db.student.find({ "_id" : ObjectId("5bd01c825f0d528d36a2c06f")});
查询id对应的数据 db.student.find({age:18,name:"张三"});
查询所有的age是18并且name是张三的人 db.student.findOne({age:18,name:"张三"});
查询单条符合条件的数据
操作符-查询有多少条数据: db.student.find().count();
或 db.student.find().length();
返回数据总条数
查询符合条件数据的条数: db.student.find({name:"张三"}).length();
返回符合name:"张三"的条数
数据库更新命令
更新原有的字段的数据:
db.student.update({"name":"张三"},{$set:{ name:"刘五", age:45 }}); 复制代码
把匹配到的 name:"张三"
的数据都更新成 name:"刘五", age:45
也可以新增没有的字段 直接写入就可以 $set :有这个字段就修改 没有这个字段就新增
删除一个字段:
db.student.update({"name":"张三"},{$unset:{ age:1 }}); 复制代码
查询 name:张三
的一条数据 然后删除它的age字段
修改多条:
db.student.updateMany({"sex":"man"},{$set:{ aihao:"玩游戏" }}); 复制代码
把符合 sex:man
的语句都新增(修改)一条 aihao:"玩游戏"
$set :有则修改 无则新增
更新多条数据方法2:
db.student.update({name:"张三"},{$set:{ name:"王五" }}, { multi:true }); 复制代码
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- IntersectionObserve初试
- 初试 Helm 3
- Java 8 lambda初试
- Podman 初试 - 容器发展史
- Nginx + Node + Vue 部署初试
- 体验下 Go 语言的魅力(初试)
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。