【MySQL 02】数据库基础

🌈 一、什么是数据库

1. MySQL 的本质

在这里插入图片描述

  • 在安装 MySQL 时会分别会安装 mysql 和 mysqld 两个软件。
    • mysql:数据库服务的客户端
    • mysqld:数据库服务的服务端
  • MySQL 本质上是一种基于 CS 模式的网络服务,因此 mysqld 就是这个网络服务的后端。
  • MySQL 是一套提供数据存取服务的网络程序,数据库服务特指的就是 mysqld

2. 为什么用数据库存储数据而不是文件

  • 站在用户角度上看,之所以不用文件存储数据,是因为一般的文件虽然也提供了数据的存储功能,但并没有提供非常好的数据内容管理能力

3. 什么是数据库

  • 数据库一般指的是,在磁盘或内存中存储的特定结构组织的数据。将来在磁盘上存储的一套数据库方案。
  • 数据库本质对数据内容存储的一套解决方案,交给数据库字段或者要求,数据库直接返回结果即可。
    • 具象化:数据库本质也是文件,只不过这些文件不由程序员直接操作,而是由对应的数据库服务 (mysqld) 帮我们进行操作。

🌈 二、MySQL 的基本使用

⭐ 1. 连接服务器

  • 在命令行输入以下指令后,再输入用户名所对应的密码即可。
    • -h:指定登录部署了 mysql 服务的主机,如果不写 -h 127.0.0.1 则默认是连接本地;
    • -P:指定要访问的端口号,如果不写 -P 3306 则默认是连接 3306 的端口号。
    • -u:指定登录用户,默认为 root。
    • -p:表示需要输入密码。
mysql -h 127.0.0.1 -P 3306 -u 用户名 -p

⭐ 2. MySQL 使用案例

  • 下面的工作实际上都是用户通过 mysql 客户端让 mysqld 服务端做的。
  1. 创建数据库:本质上就是建立 Linux 下的一个目录。
create database 数据库名;

在这里插入图片描述

  1. 使用数据库:数据库有很多,得指定要进行操作的数据库。
use 数据库名;

在这里插入图片描述

  1. 创建数据库表:在数据库内建表,本质就是在 Linux 下创建一个对应的文件。
create table 表名(字段1 字段1类型, 字段2 字段2类型, 字段n 字段n 类型);

在这里插入图片描述

  1. 往数据库表中插入数据
insert into 表名(字段名1, 字段名2, ..., 字段n) values(1,2..., 值n);

在这里插入图片描述

  1. 查询表中所有的数据
select * from 表名;

在这里插入图片描述

⭐ 3. 服务器、数据库、表之间的关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用建一个数据库
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
    • 数据库服务器、数据库和表之间的关系如下:

在这里插入图片描述

🌈 三、MySQL 架构

  • MySQL 是一个可移植的数据库,几乎在当前所有的操作系统上运行。
  • 各系统在底层实现方面都各有不同,但 MySQL 基本能保证在各个平台上的物理体系结构的一致性。

MySQL 架构整体分为三层

在这里插入图片描述

  1. 第一层 (数据库连接池这层):在这一层 MySQL 的主要工作是分别,用户管理、鉴别用户的合法身份、保证安全。
  2. 第二层 (SQL 接口组件所在的这层):主要对客户端下达过来的 SQL 语句进行词法分析、语法分析、对 SQL 语句做一定程度优化。
  3. 第三层 (InnoDB 这层):有不同的存储引擎,接收从上层转化调优后的 SQL 语句,再对这些语句进行解释,访问指定的数据库或表结构。

🌈 四、SQL 语句分类

  1. DDL (data definition language) 数据定义语言:用来维护存储数据的结构的语言。
    • 代表指令:create、drop、alter
  2. DML (data manipulation language) 数据操作语言:用来对数据进行操作的语言。
    • 代表指令:insert、delete、update
  3. DQL (data query language) 数据查询语言:用来查询数据的语言。
    • 代表指令:select
  4. DCL (data control language) 数据控制语言:主要负责权限和事务的管理。
    • 代表指令:grant、revoke、commit

🌈 五、存储引擎

  • 存储引擎是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

⭐ 1. 查看存储引擎

show engines;

在这里插入图片描述

⭐ 2. 常见存储引擎对比

  • 在 MySQL 中最常见的存储引擎是 MyISAMInnoDB,其中 InnoDB 占到了 80% 以上。
特点MyISAMInnoDBMEMORYMERGE
存储限制64TB
事务安全支持
锁机制表锁行锁表锁表锁
B 树索引支持支持支持支持
哈希索引支持
全文索引支持
集群索引支持
数据缓存支持支持
索引缓存支持支持支持支持
数据可压缩支持
空间使用N / A
内存使用
批量插入速度
支持外键支持
  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值