【MySQL】(1) 数据库基础

一、什么是数据库

数据库自行选择了合适的数据结构来组织数据,方便用户写入存储介质 ,如硬盘,机器断电不会丢失数据)和查询数据。在数据结构部分,我们讲到的 ArrayList、HashMap 集合类对象 也能存储数据,不同的是数据存储在内存中,机器断电就会丢失数据。

二、主流数据库

1、关系型数据库

  • Oracle:甲骨文旗下,功能最强的数据库,但是收费,很多大公司用。
  • MySQL:开源免费,很多中小型公司用,像阿里巴巴这种大公司使用的是根据自己的业务需求魔改后的 MySQL。一开始 SUM(也就是 Java)收购了MySQL,后面 Oracle 收购了 SUM,所以现在 MySQL 也是在甲骨文旗下的。
  • SQL Sever:微软旗下,很多学校教学用。
  • SQLite:轻量型数据库,常在嵌入式设备、手机APP、桌面应用等中使用。

2、非关系型数据库

  • Redis:基于键值对的数据库,常用作缓存。
  • MongoDB:文档型数据库。

3、什么是关系型数据库

就是采用关系模型(二维表)组织数据 ,一个关系型数据库就是由二维表之间的关系组成的数据组织

为什么要使用多个关系模型,并建立它们之间的关系?直接用一张表存储所有数据行不好吗?比如下面有两张表:

想改名尖子1班为清北班,那么只需要更改班级表中的第一栏。

和为一张表后:

想改名尖子1班为清北班,就需要更改所有是尖子1班的学生信息。显然,这种更改效率极低。

三、数据库服务器、数据库、表之间的关系

四、客户端与服务器的通讯方式

1、C/S(客户端/服务器)

为固定用户群体提供服务,如 QQ、微信等。

2、B/S(浏览器/服务器)

为公开用户提供服务,如各大网站:

五、SQL 简介

SQL 就是结构化查询语言 的简称,用于存取、查询、更新、数据,管理数据库

SQL 分类:

  • DDL:数据定义语言,数据库级别。与开发强相关。
  • DML:数据操纵语言,数据行级别。与开发强相关。
  • DCL:数据控制语言,管理权限和事务。数据库管理员负责。

六、MySQL 架构

  • 外部程序:不同类型的客户端程序,如命令行工具、应用程序。
  • 连接层:允许不同的客户端通过协议连接 MySQL 服务器。进行身份验证,有授权的才能连接;并处理并发连接。
  • 服务层:SQL 解析器,将 SQL 语句解析为指令;查询优化器选择最优查询路线,提高查询效率;管理查询缓存,常访问的数据存入缓存,提高访问效率。
  • 存储引擎层:不同的存储引擎使用了不同的数据结构,具有不同的特点,适用不同的场景。MySQL 5.5 及以后版本默认 InnoDB,它支持事务。
  • 文件系统层:存储数据文件。

查询服务器支持哪些存储引擎,SHOW ENGINES

相关推荐
JavaGuide11 小时前
公司来的新人用字符串存储日期,被组长怒怼了...
后端·mysql
怒放吧德德14 小时前
MySQL篇:MySQL主从集群同步延迟问题
后端·mysql·面试
数据智能老司机15 小时前
CockroachDB权威指南——CockroachDB SQL
数据库·分布式·架构
Eip不易也不e15 小时前
教程之同时安装两个版本的 mysql
mysql
数据智能老司机15 小时前
CockroachDB权威指南——开始使用
数据库·分布式·架构
松果猿15 小时前
空间数据库学习(二)—— PostgreSQL数据库的备份转储和导入恢复
数据库
Kagol16 小时前
macOS 和 Windows 操作系统下如何安装和启动 MySQL / Redis 数据库
redis·后端·mysql
无名之逆16 小时前
Rust 开发提效神器:lombok-macros 宏库
服务器·开发语言·前端·数据库·后端·python·rust
s91236010116 小时前
rust 同时处理多个异步任务
java·数据库·rust
数据智能老司机16 小时前
CockroachDB权威指南——CockroachDB 架构
数据库·分布式·架构