基于项目常见的mysql名词解释

主要记录一下日常项目开发中常遇到的mysql相关名词,便于区分理解,温故知新。

1、存储引擎

INNODB: 有事务,功能全。

2、约束

primary key 主键

非空唯一,且不可重复
一张表只能有一个主键
用来保证数据的完整性

index 索引

没有重复值,但可以为空
提高查询速度

unique 唯一键

可以为空,但不可重复

foreign key 外键

可以为空,可以重复。外键是另一个表的主键
用来和其他表建立联系
一张表可以有多个外键

主键与索引的区别

  • 主键一定是唯一性索引,唯一性索引不一定是主键
  • 数据库管理系统对于主键会自动生成唯一性索引,所以主键是一个特殊的索引
  • 一个表可以有多个唯一性索引,单只能有一个主键
  • 主键列不允许为空值,但唯一性索引可以为空值

3、数据类型

类型名 字节大小 备注
smallint 2字节 -
int 4字节 -
bigint 8字节 -
float 4字节 -
double 8字节 -
decimal(m,n) - m总位数,n小数点后的位数
char 0-255字节 定长字符,空间占用大,查询速度快
varchar 0-255字节 变长字符,空间占用小,查询速度慢
text 0-65535个字节 长文本
blob - 二进制数据
date - yyyy-MM-dd 日期
datetime - yyyy-MM-dd hh:mm:ss 日期时间
timestamp - yyMMddhhmmss 时间戳
enum - 枚举

你可能感兴趣的:(基于项目常见的mysql名词解释)