【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

相关推荐
V+zmm101348 分钟前
乡村研学旅行小程序(论文源码调试讲解)
java·数据库·微信小程序·小程序·毕业设计
特立独行的猫a18 分钟前
使用Docker方式一键部署MySQL和Redis数据库详解
数据库·mysql·docker
雾里看山20 分钟前
【MySQL】索引(中)
android·数据库·mysql
QuartusII735 分钟前
Windows 如何删除电脑上其他用户及配置文件
运维·服务器·网络·数据库·windows·电脑
m0_7482475537 分钟前
Spring系列学习之Spring CredHub
java·数据库·spring
m0_748236111 小时前
【MySQL】 表的约束(上)
android·mysql·adb
小林熬夜学编程1 小时前
【MySQL】第十一弹---复合查询全攻略:多表、自连接、子查询与合并查询
android·linux·开发语言·数据库·mysql·算法
大筒木老辈子1 小时前
MySQL笔记---Ubuntu环境下从零开始的MySQL
笔记·mysql·ubuntu
qq_13948428822 小时前
springboot417-基于Spring Boot的酒店后台管理系统(源码+数据库+纯前后端分离+部署讲解等)
java·数据库·spring boot·后端·spring·maven·intellij-idea
m0_748254092 小时前
【MySQL 的数据目录】
数据库·mysql·adb