Mysql 常见知识

20
0
0
2022-01-29

Mysql 常见知识

主键、外键和索引的区别?

主键、外键和索引的区别

定义:

主键——唯一标识一条记录,不能有重复的,不允许为空

外键——表的外键是另一表的主键, 外键可以有重复的, 可以是空值

索引——该字段没有重复值,但可以有一个空值

作用:

主键——用来保证数据完整性

外键——用来和其他表建立联系用的

索引——是提高查询排序的速度

个数:

主键—— 主键只能有一个

外键—— 一个表可以有多个外键

索引—— 一个表可以有多个唯一索引

数据库的三大范式?

回答:

第一范式:每个字段都不能再拆分

第二范式:在第一范式的基础上,非主键字段列完全依赖于主键

第三范式:在第二范式的基础上,非主键字段列依赖于主键且不依赖于其他非主键

char和varchar的区别?

回答:

  • char是定长的,根据定义字符串长度分配足够的空间,如果插入的数据长度小于定长,用空格填充。(因为长度固定,会占据一些多余的空间,空间换时间)

  • varchar是可变长字符串,长度可变。存取速度不如char快,由于长度不固定,不占据多余空间,时间换空间。

唯一索引 与 主键索引

唯一索引是在表上一个或者多个字段组合建立的索引,这个(或这几个)字段的值组合起来在表中不可以重复。一张表可以建立任意多个唯一索引,但一般只建立一个。

主键是一种特殊的唯一索引,区别在于,唯一索引列允许null值,而主键列不允许为null值。一张表最多建立一个主键,也可以不建立主键。