【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

相关推荐
繁星蓝雨3 分钟前
Qt优雅的组织项目结构三(使用CMakeLists进行模块化配置)——————附带详细示例代码
开发语言·数据库·qt
Jerry.张蒙1 小时前
SAP业财一体化实现的“隐形桥梁”-价值串
大数据·数据库·人工智能·学习·区块链·aigc·运维开发
无名修道院1 小时前
DVWA 靶场搭建:Windows11(phpstudy 搭建)(步骤 + 截图 + 常见问题)
数据库·网络安全·渗透测试·靶场·php·dvwa·phpstudy
UCoding3 小时前
新能源技术面试 -- 给出一套mysql备份容灾方案
mysql·面试·主从
CodeAmaz3 小时前
MySQL 事务隔离级别详解
数据库·mysql·事务隔离级别
千寻技术帮3 小时前
10398_基于SSM的教学评价管理系统
数据库·mysql·毕业设计·ssm·教学评价
晨星3343 小时前
使用 IntelliJ IDEA 轻松连接 Java 与 MySQL 8 数据库
java·开发语言·数据库
PWRJOY4 小时前
【MySQL】使用mycli查看数据库的基本操作
数据库·mysql
SadSunset4 小时前
(16)Bean的实例化
java·数据库·笔记·spring
JIngJaneIL4 小时前
基于Java + vue干洗店预约洗衣系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot