【速览】数据库-MySQL(更新中)

目录

  • 一、背景
  • 二、优缺点
  • 三、适用场景
  • 四、核心组成
    • 基本语法
    • 数据库引擎
    • 事务
    • 索引
    • 连接池
    • 分库分表
    • 主从
    • 读写分离
    • 备份
  • 五、底层原理
  • 六、对比
  • 参考

一、背景

这个技术出现的背景、初衷和要达到什么样的目标或是要解决什么样的问题。这个问题非常关键,也就是说,你在学习一个技术的时候,需要知道这个技术的成因和目标,也就是这个技术的灵魂。如果不知道这些的话,那么你会看不懂这个技术的一些设计理念。

二、优缺点

这个技术的优势和劣势分别是什么,或者说,这个技术的 trade-off 是什么。任何技术都有其好坏,在解决一个问题的时候,也会带来新的问题。另外,一般来说,任何设计都有 trade-off(要什么和不要什么),所以,你要清楚这个技术的优势和劣势,以及带来的挑战。

三、适用场景

这个技术适用的场景。任何技术都有其适用的场景,离开了这个场景,这个技术可能会有很多槽点,所以学习技术不但要知道这个技术是什么,还要知道其适用的场景。没有任何一个技术是普适的。注意,所谓场景一般分别两个,一个是业务场景,一个是技术场景。

四、核心组成

技术的组成部分和关键点。这是技术的核心思想和核心组件了,也是这个技术的灵魂所在了。学习技术的核心部分是快速掌握的关键。

基本语法

mysql -uroot -p123456 -- 连接数据库
----
show databases; -- 查看所有的数据库
use school -- 切换数据库
show tables; -- 查看数据库中所有的表
describe student; -- 显示数据库中所有的信息

create database westos; -- 创建一个数据库
exit; --退出连接

数据库 --> 表 --> 记录

-- 操作数据库
create database [if not exists] westos; --新增数据库
drop database [if exist] westos; --删除数据库
use `school` -- 使用数据库
show databases; -- 查看所有的数据库
  • 数据库的列类型
    数值、字符串、时间日期
  • 数据库的字段属性
-- 操作表

  • DDL 定义
  • DML 操作
  • DQL 查询
  • DCL 控制

数据库引擎

  • INNODB(默认)
    支持事务、外键、行锁定
  • MYISAM
    支持全文索引、表锁定

事务

数据库事务(Database Transaction)是数据库管理系统(DBMS)中用来保证数据完整性和一致性的关键机制。事务通常被视为一系列操作的集合,这些操作作为一个整体被执行。如果事务中的所有操作都成功完成,那么整个事务就会被提交(committed),否则如果任何一个操作失败,整个事务都会被回滚(rolled back),以确保数据的一致性。

事务的ACID特性:

  • 原子性 (Atomicity):事务中的所有操作要么全部成功,要么全部失败。这意味着事务不可分割,不能只执行其中的一部分操作。
  • 一致性 (Consistency):事务的执行必须保证数据库从一个一致的状态变为另一个一致的状态。
  • 隔离性 (Isolation):并发执行的事务不会干扰彼此,每个事务看起来像是在独立的环境中运行。
  • 持久性 (Durability):一旦事务被提交,它对数据库所做的更改就是永久的,即使系统发生故障也不会丢失。

脏读:
不可重复读:
幻读:

索引

连接池

分库分表

主从

读写分离

备份

  • 备份

    • 拷贝物理文件
    • 在工具中手动导出
    • 命令行 mysqldump -h -u -p 数据库 表名 >D:/a.sql
  • 导入
    source d:/a.sql

五、底层原理

技术的底层原理和关键实现。任何一个技术都有其底层的关键基础技术,这些关键技术很有可能也是其它技术的关键基础技术。所以,学习这些关键的基础底层技术,可以让你未来很快地掌握其它技术。

六、对比

已有的实现和它之间的对比。一般来说,任何一个技术都会有不同的实现,不同的实现都会有不同的侧重。学习不同的实现,可以让你得到不同的想法和思路,对于开阔思维,深入细节是非常重要的。

参考

你可能感兴趣的:(数据库,MySQL)