目录



  • mysql数据库
  • 数据库是什么
  • 为什么要使用数据库
  • 数据库的分类
  • 什么是数据库引擎?
  • 数据库重要概念



mysql数据库

数据库是什么

存储数的的仓库

  • 列表,字典....等等,都是内存中的,其缺点:断点即消失, 优点:速度快
  • 文件存储, 缺点: 速度慢, 优点: 可以实现永久保存

本质就是一套基于CS结构的,客户端和服务端程序,最终的数据存储在服务器端的磁盘中

为什么要使用数据库

直接使用文件存储带来的问题

  • 速度慢
  • 我们的程序将来可能分布在不同的机器上
  • 分布式:
    每个服务器提供不同的服务,有时候某个业务流程可能会涉及到多个服务器
  • 优点:耦合度降低,易维护
  • 缺点:通讯繁琐,容灾性没有集群好
  • 集群:
    所有服务器提供的服务是一模一样的
  • 优点:容灾性强,易扩展,可插拔
  • 缺点:耦合度高
  • 用户权限管理
  • 多个客户端并访问, 数据要保证安全

数据库的分类

  1. 关系型数据库
    数据之间可以存在关联关系,数据库会帮我们维护这种关系
    通常存储介质都是磁盘
    常见类型:
  • MySQL
    是我们学习的重点: 是目前最流行的关系型数据库,因为其免费开源,性能不错,目前已经被oracle收购了,适用于中小型企业
  • sqlserver
    是微软推出的,因为其职能运行在Windows平台,所以发展不咋的
  • oracle
    目前最强大的关系型数据库,主要是在集群,和用户管理上,非常适合大型企业
  • db2
    IBM的产品,主要面向企业级用户,不差钱的用户,捆绑硬件销售
  1. 非关系型数据库
    没有维护数据之间的关系
    通常存储介质都是内存
    常见的非关系型:
    MongoDB
    Redis
    memcache

什么是数据库引擎?

引擎就是一个系统最核心的部分

数据库引擎指的是真正负责存储数据的模块;

不同的引擎具备不同的特点:需要根据实际需求来选择最适合的

SQL全程是结构化查询语句,在关系型数据库中是通用的

  • 查看支持的引擎
    show engines;
  • 创建表指定引擎
    create table 表名称(列名 类型)engine = xxxx;
    默认的也是最常用的引擎是innodb

数据库重要概念

数据(column) 文件中的某个字符串

记录(Row) 文件中的某一行

表(table) 某个文件

库(database) 就是一个文件夹

DBMS 数据库管理系统(指的是数据库软件)

数据库服务器 运行DBMS的计算机