本人以后端工程师为目标,从JAVASE学起,现在刚接触MySQL数据库。那么今天就先来学习一些关于数据库的一些基础背景知识吧!

 先允许我谈个题外话(哈哈哈,占宝地一用……)。

有关Java对象的存放位置:

mysql8的数据放在哪里的 mysql数据存在内存还是硬盘_mysql8的数据放在哪里的

list 存放在java进程的堆区,其索引的string也在堆区

言归正传:

一、数据库的数据存放在哪里呢

我们先来分析一波内存与硬盘的存储区别:

mysql8的数据放在哪里的 mysql数据存在内存还是硬盘_MySQL_02

因此,根据内存的特点,数据库的数据是要保存在硬盘里的。

二、数据库使用技术

数据库使用很多数据结构,把数据组织起来

数据库还使用了其它很多技术:多线程,io等

MySQL的gui可视化工具:navicat , MySQL Workbench

mysql8的数据放在哪里的 mysql数据存在内存还是硬盘_数据库_03

三、数据库分类

数据库大体可以分为关系型数据库和非关系型数据库

关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个
关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。
基于标准的SQL,只是内部一些实现有区别。

特性:保证安全来牺牲性能,所以对于海量数据效率较低

常用的关系型数据库如:
1. Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系
统。收费。
2. MySQL:属于甲骨文,不适合做复杂的业务。开源免费。
3. SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费。

非关系型数据库:

特性:性能优先的设计原则,海量数据,查询多,修改少
不规定基于SQL实现。现在更多是指NoSQL数据库,如:
1. 基于键值对(Key-Value):如 memcached、redis
2. 基于文档型:如 mongodb
3. 基于列族:如 hbase
4. 基于图型:如 neo4j

关系型数据库和非关系行数据库的对比:

mysql8的数据放在哪里的 mysql数据存在内存还是硬盘_mysql8的数据放在哪里的_04

四、SQL分类 

DDL数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
DML数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言                                                                                   代表指令: select
DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit