前言
这个系列属于个人学习网易云课堂MySQL数据库工程师微专业的相关课程过程中的笔记,本篇为其“MySQL数据库对象与应用”中的MySQL数据类型相关笔记。
所有笔记可能不定期更新,发布时不一定为最终版。
正文
常见数据库对象
DataBase/Schema
Table
Index
View/Trigger/Function/Procedure
库表行层级关系
一个DataBase对应一个Schema
一个Schema包含一个或多个表
一个表里面包含一个或多个字段
一个表里包含一条或多条记录
一个表包含一个或多个索引
多Database用途
业务的隔离
资源的隔离
表上常用的数据对象
索引
约束
视图、触发器、函数、存储过程
数据库索引(Index )
索引就是数据库中数据的目录
索引和数据主要是两个对象
索引主要是用来提高数据库的查询效率
数据库中的数据变更同样需要同步索引数据的变更
UNIQUE 唯一索引
FULLTEXT 全文检索索引,使用不多仅支持my引擎
SPATIAL 地理位置索引,地理位置精度比较差。
- 唯一约束是一种特殊的索引
- 唯一约束可以是一个或多个字段
- 唯一约束可以在创建表时创建好,也可以后面再补上。
- 主键也是一种唯一约束。
使用外键的注意事项
必须是INNODB表,Myisam和其他引擎不支持外键
相互约束的字段类型必须要一样。
主表的约束字段要求有索引。
约束的名称必须唯一,即使不在一张表上。
view 视图
作用
视图将一组查询语句构成的结果集,是一种虚拟结构,并不是实际数据。
视图能简化数据库的访问,能够将多个查询语句结构化为一个虚拟结构。
视图可以隐藏数据库后端表结构,提高数据库的安全性。
视图也是一种权限管理,只对用户提供部分数据。
Trigger
俗称触发器, 指可以在数据写入表a之前或者之后可以做一些其他动作。
使用Trigger在每次更新用户表的时候出发更新积分表---(实例)