数据库
-
含义:存储和管理数据的仓库,用户可以进行增删改查等操作
-
本质:一款基于网络通信的应用程序
-
分类:
-
关系型数据库:数据之间彼此有关系或约束,通常以表格形式存储,存储类型的限制
eg:mysql,Oracle,db2,sql server
-
非关系型数据库:数据通常以key—value方式存储
eg:redis,mongobd
-
-
特点:
- 持久化存储
- 保证数据的有效性
- 读写速度极高
数据库管理系统
- 本质:管理数据的一个软件
关系型数据库管理系统
- 分类:
- 关系型数据库服务端:负责管理不同的数据库
- 关系型数据库客户端:向服务端传输数据或获取数据
sql介绍
由来:支持多种编程语言来充当客户端操作mysql,采用统一的语言(SQL语句)
作用:实现数据库客户端和服务端之间的通信
MySQL数据库
- 含义:是一个关系型数据库管理系统
- 特点:
- 开源,不用付费
- 使用标准的sql数据语言格式
- 可存放大型数据量,处理上千万条数据
- 可安装在不同的操作系统,提供多种编程语言的操作接口
重要概念
数据介绍
数据类型
- 用途:创建表时,为表中字段设置数据类型
- 原则:够用就行,节省存储空间
- 常用类型:
- 整数:int,bit
- 浮点数:decimal,double
- 字符串:char,varchar
- 日期时间:date,time,datetime
- 枚举:enum
- 说明:
- decimal:decimal(10,2)表示存5位数,小数占2位
- char:固定长度的字符串,若位数不满则自动补空格
- varchar:可变长度的字符串
- 对于图片、视频等文件,不存储在数据库中,而是上传到服务器,然后在表中存储他的保存路径
- text字符串存储大文本,一般字符超过4000是推荐使用
类型 | 字节大小 | eg |
---|---|---|
date | 4 | '2022-12-09' |
time | 3 | '22:00:00' |
datetime | 8 | '2022-12-09 22:00:00' |
数据约束
-
含义:在限定数据类型的基础上额外增加要求
-
常见约束:
- 主键primary key:物理上存储的顺序,类型为int unsigned
- 非空not null:此字段不能为空
- 唯一unique:此字段值不允许重复
- 默认default:不填写时使用默认值
- 外键foreign key:对关系字段进行约束,为关系字段填写值时会到关联的表中修改数据,若关联字段不存在则抛出异常