1. 数据库
-
什么是数据库?
- 存储数据的一个仓库
-
数据库分类?和它的代表
- 关系型数据库 【 SQL 】
- 代表: mysql
- 非关系型数据库【 NOSQL 】
- 代表: Mongodb
- 关系型数据库 【 SQL 】
-
如何区分一个数据库属于哪一个类别
- 经验: 有没有表, 有,那就是SQL , 没有,那就是NoSql
-
数据库构成
- 关系型数据库
- 数据库 -> 表 -> 行
- 非关系型数据库
- 数据库 -> 集合 -> 文档
MongoDB
-
概念
- 基于分布式文件存储的数据库
- 面向集合存储,易存储对象类型的数据。
- 模式自由。
- 支持动态查询。
- 支持完全索引,包含内部对象。
- 支持查询。
- 支持复制和故障恢复。
- 使用高效的二进制数据存储,包括大型对象(如视频等)。
- 自动处理碎片,以支持云计算层次的扩展性
- 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
-
存储类型: BSON
- 什么是bson?
- bson是json的超集, bson拥有json的所有,但是它有json没有的二进制类型
- 什么是bson?
-
安装
- MongoDB下载地址:
https://www.mongodb.com/download-center#community - 安装直接下一步
- 记住了: 将compass可视化工具去掉
- 可视化工具可以选 navicat 或 Robo
- MongoDB下载地址:
-
配置系统变量
- MongoDB 4版本以上自动配置
-
配置数据库存储目录还有日志存储目录
-
将Mongodb开机放到系统服务中
mongoDB使用
使用命令来操作数据库
mongoDB操作命令
- show dbs 查看数据库列表
- use 数据库名称 创建或是切换数据库
- 如果这个数据库没有,那么就是创建
- 如果有,那就是切换数据库
- 增加
- db.集合名称[ 复数 ].save() // 创建一个集合,并且往这个集合添加一条数据
- db.集合名称[ 复数 ].insert() // 创建一个集合,并且往这个集合添加一条数据
- save如果指定主键,那么就是修改
- insert指定主键添加,会报错
- show collections //查看数据库下有几个集合
- 删除 //users是数据库集合名称
- db.users.remove({}) //删除users集合下所有数据
- db.users.remove({“name”: “lecaf”}) //删除users集合下name=”lecaf”的数据
- db.users.drop()或db.runCommand({“drop”:“users”}) //删除集合users
- db.runCommand({“dropDatabase”: 1}) //删除当前数据库,注意 此处的1没加双引号。
- 查找
- db.users.find() //查找users集合中所有数据
- db.users.findOne() //查找users集合中的第一条数据
- db.users.find().pretty() //格式化查询到的数据
- 排序
- db.users.find().sort({age: -1 }) //按年龄排序
- 类似截取
- db.users.find().limit( 2 )
- 修改
- db.web.update({“name”:“a1”}, {$set: {sex:”women”}},true,true)
//修改name=a1的数据为sex=1,第一个参数是查找条件,第二个参数是修改内容,主键不能修改,第三个参数表示匹配所有符合条件的数据,第四个参数表示修改所有匹配到的数据
- db.web.update({“name”:“a1”}, {$set: {sex:”women”}},true,true)