数据库介绍
计算机工作原理:硬盘 → 内存 → cpu
内存:快,但是断电消失信息。平时run code 中的变量。
硬盘:慢,断电后数据不消失。长久存储数据。
持久化:让数据持久存储的过程,俗称存到硬盘、存到数据库。
##常见数据库
###关系型数据库
历史悠久,上世纪六十年代开始出现,也是当时市场的统治者。
- sqlite。
- microsoft office access。
- mysql。
- oracle。
- db2.
- postgresql。
特点
库,表,一行数据。多张表靠外键关系关联。类似日常的excel表格
SQL:structure query language 结构化查询语言。专门对表增删改查
基础语法: - 创建表 CREATE TABLE student(
INT id primary key;
VARCHAR(10) name,
int age,
); - 查询 SELECT(id,name,age)from student;SELECT * FROM student;
- 插入 INSERT INTO student (id,name,age)VALUES(2,‘小明’,13)
- 更新 UPDATE FROM studentDET name='大明’where
- 删除 DELETE FROM student;如果不加where条件会删除全部内容。
进阶语法: - 外键关联 SELECT s.name,c.name FROM students as a JOIN class as c
s.class_id=c.id WHERE s.class_id=1; - 聚合函数
###非关系型
nosql:no only sql,并不是完全抛弃关系型数据库,而是用其他算法思想做补充。
关系型数据库优点:分表维护逻辑清晰,强事物确保结构一致
关系型数据库的缺点:数据存储硬盘上,多张表外键关联,导致查询性能有上线。
非关系型优点:把一类把查询频繁的表,例如用户表,缓存到内存中(固态硬盘500MB/s,内存4000MB/s),查询效率提高;
往往存储键值对对象结构,跟编程语言的对象结构一样,不用转换,易于理解。
非关系型缺点:内存贵;数据一致性不高。
- mongodb。例子,物流港(整个数据库)有一些仓库厂房(库database/schema),厂房有一排排货架(表table),货架上有产品(存放的信息)。mongodb新增一套属于(表=集合collection,表中的数据叫做文档document)。
- Redis 。 存储的结构更为简单。{username:‘小明’}
我们主要学习mongodb,存储跟js对象几乎一致。mysql最流行。
mongodb
###下载
- mongodb官网
- 右上角try-free或products-mongodb , 进入到下载页
- 版本选择community社区免费版、版本最新稳定版4.2.1(201911)、OS windows x 64、msi(exe会自动添加环境变量)。
###安装 - 基本一路next
- 注意, 不要勾选 安装mongo compress 图形化客户端工具,因为是在线安装,网速不好会卡住
!()[1-1.jpg] !()[1-2.jpg]
验证
- 会在安装目录C:Program Files\mongodb\server\看到文件
- 关注bin文件夹下有mongod.exe(服务端,提供数据库服务) mongo.exe(客户端,命令行)
- 关注data文件夹,数据存放文件夹。有的安装程序不会自动创建,需要手动创建。有的版本要求在C:/data/db
###运行数据库服务
服务:别人的电脑运行网站服务,我们的客户端浏览器请求数据并看到效果。windows的蓝牙可以发现蓝牙耳机,因为开启了蓝牙发现服务 - windows终端cmd/powershell下
mongod
cd C:\Program Files\MongoDB\Server\4.2\bin
./mongod
注意安装程序没有自动添加环境变量。直接mongod找不到,即使cd到文件夹,必须先cd到所在文件夹在写标准的相对路径,./你能省略
成功的话显示’server listing’控制台程序处于抑制运行
可能的报错server shutdown.原因一般有 找不到data路径。服务端口占用、服务已经正常开启。环境变量可能需要自己配
1)找不到data路径。 默认C:\data\db,解决1>手动创建文件夹。 2>指定其他路径./mongod --dbpath C:Program Files\MongoDB\Server\4.2\data
2)服务器端口占用、服务已经正常开启
3)环境变量可能需要自己配。
- (可选) 每次运行命令太麻烦。注册为windows服务让每次开机自动启动mongodb服务。
注册windows服务需要shell语言,我们不会,./mongod --install
我的电脑-右键管理-服务 中看到MondoDB的服务.
如果是.exe自动安装,这一步已经被自动做过。
图片参考文件夹内的截图
###客户端连接服务器
- 确保服务器启动。 1)windows服务MongoDB正在运行 或 2)命令行 mongod,
服务器地址 listening127.0.1:27017 127.0.0.1或 localhost表示‘我们电脑自己’。27017是mongo服务器默认端口 - 使用自带的命令行客户端连接
cd安装目录\bin
mongo.exe
默认没有数据库密码,直接可以进入。前面的光标变为 >说明进入到了mongo解释环境中。