初始MySQL数据库

91 阅读5分钟

1 数据库原理

1.1 数据的时代

存在的原因

  • 涉及的数据量大
  • 数据不随程序的结束而消失
  • 数据被多个应用程序共享
  • 大数据

数据的分类

  • 结构化的数据:即有固定格式和有限长度的数据 例如填的表格就是结构化的数据,国籍:中华人民共和国,民族:汉,性别:男,这都叫结构化数据
  • 非结构化的数据:非结构化的数据越来越多,就是不定长、无固定格式的数据,例如网页,有时候非常长,有时候几句话就没了;例如语音,视频都是非结构化的数据
  • 半结构化数据:比如:XML或者HTML的格式的数据

1.2 数据库基本概念

1.2.1 数据(Data)

描述事物的符号记录

包括数字,文字、图形、图像、声音、档案记录等

以“记录”形式按统一的格式进行存储

1.2.2 表

将不同的记录组织在一起

用来存储具体数据

1.2.3 数据库

表的集合,是存储数据的仓库

以一定的组织方式存储的相互有关的数据集合

2 数据库管理系统(DBMS)

数据库管理系统是实现对数据库资源有效组织、 管理和存取的系统软件。

2.1 功能

数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。

数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式 及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语 义的错误数据被输入或输出。

数据操纵功能:包括数据查询统计和数据更新两个方面。

数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能。

通信功能:DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行 数据交换。

2.2 数据库系统

image.png

是一个人机系统,由硬件、OS、数据库、DBMS、应用软件和数据库用户组成。

用户可以通过DBMS或应用程序操作数据库。

2.3 数据库的分类

数据库分两大类,关系型数据库和非关系型数据库。

2.4 关系数据库 SQL

操作命令:SQL语句

存储结构:二维表格

存储的数据:结构化数据

->-> 二维表格形式的结构化数据

每一行称为一条记录,用来描述一个对象的信息;

每一列称为一个字段,用来描述对象的一个属性。

2.5 非关系数据库 NoSQL

  • 存储结构:键值对 文档 索引 时间序列
  • 缓存型 Redis Memcached
  • 文档型 MongoDB
  • 索引型 ElasticSearch
  • 时序型 Prometheus InfluxDB

2.6 主键

主键(Primary Key)是一个数据库表中的一列或一组列,用于确保数据的唯一性和数据行的唯一标识。 在表中,主键的值是唯一的。

主键具有以下特点: 1)唯一性:主键列中的值必须是唯一的,每一行的主键值都不相同。 2)非空性:主键列的值不能为空,也就是不允许为空值或NULL值。 3)唯一标识性:主键用于识别和区分表中的不同行数据,通过主键可以快速定位和访问表中的数据。

主键还可以用于建立表与表之间的关系,实现数据的关联和连接操作。

3 MySQL数据库简介

3.1 什么是MySQL?

一款深受欢迎的开源关系型数据库
Oracle旗下的产品
遵守GPL协议,可以免费使用与修改

3.2 MySQL的特点

  • 性能卓越、服务稳定
  • 开源、无版权限制、成本低
  • 多线程、多用户
  • 基于C/S(客户端/服务器)架构
  • 安全可靠

3.3 常用的数据类型

  • int :整型 无符号[0,232-1],有符号[-231,2^31-1]
  • float :单精度浮点 4字节32位
  • double :双精度浮点 8字节64位
  • char :固定长度的字符类型
  • varchar :可变长度的字符类型
  • text :文本
  • image :图片
  • decimal(5,2) :5个有效长度数字,小数点后面有2位

3.4 SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。

SQL语言分类:

  • DDL:数据定义语言,用于创建数据库对象,如库、表、索引等
  • DML:数据操纵语言,用于对表中的数据进行管理
  • DQL:数据查询语言,用于从数据表中查找符合条件的数据记录
  • DCL:数据控制语言,用于设置或者更改数据库用户或角色权限

3.5 MySQL的约束特性(六大约束)

  • primary key(主键约束) 字段的值不能重复,且不能为null,一个表只能有一个唯一键
  • uniq key(唯一性约束) 字段的值不能重复,可以为null,一个表可以有多个唯一键
  • not null (非空约束) 字段的值不能为null
  • default (默认值约束) 字段的值如果没有设置,则使用默认值自动填充
  • auto_increment (自增约束) 字段的值如果没有设置,默认会从1开始,每次自动递增1,要求自增字段必须设置主键
  • int(N) zerofill (零填充)

4 数据库管理系统的基本功能

  • 数据定义
  • 数据处理
  • 数据安全
  • 数据备份

5 数据库系统的架构

  • 单机架构
  • 大型主机/终端架构
  • 主从式架构(C/S)
  • 分布式架构

5.1 常用关系数据库

MySQL: MySQL, MariaDB, Percona Server

PostgreSQL: 简称为pgsql,EnterpriseDB

Oracle

MSSQL sql server

DB2 IBM

6 MySQL的三大主要分支

  • mysql
  • mariadb
  • percona Server

版本演变

MySQL:5.1 --> 5.5 --> 5.6 --> 5.7 ----->6.0 - --->7.0 --> 8.0

MariaDB:5.1 -->5.5 -->10.0--> 10.1 --> 10.2 --> 10.3 --> 10.4 --> 10.5