今天学习的是数据库:
一、完整性约束
1.主键约束特点:
唯一且非空,表里面的每一个记录都是唯一性的
主键可以由一个字段组成,也可以由多个字段组成。
如果主键由一个字段组成既可以添加到列级,也可以添加到表级
如果由多个字段组成,只能添加到表级。
2.唯一约束
指:表中字段的值不能重复,可以为空
3.非空约束:
某张表中某字段的值不能为空
注意:1只能列级添加
2空字符串""和0都不是null
4.默认值约束(default)
指在没有对某字段插入具体值会默认的值
注意:如果插入的数据为“null”,则不会使用默认值
5.自动增长约束(auto_increment)
注意:一张表中只能有一个自动增长字段,配合主键一起使用
6.外键约束(foreign key)
主要实现数据库中的参照完整性
对某张表修改或者删除的时候,要保证数据完整性
注意:虽然MySQL提供了列级添加,但不会生生效,所以只能添加表级约束
有关系的表进行删除
a.先删除有外键约束的表,再删除主表
b.先删除外键约束再删除表
二、索引
索引的概念:是数据库对象,实现诗句哭快速查询
索引的分类:
(1)普通索引:对字段数据的类型和值没有任何限制
(2)主键索引:
(3)唯一索引:给唯一字段添加到索引
唯一索引可以有空值,但主键索引唯一且非空
(4)全文索引:适用于在一大串文本添加的索引,只给字符串数据类型(char varchar text)添加
(5)空间索引:只能是空间数据类型且值非空
空间数据类型:geometry point linestring polygon
(6)复合索引:给多个字段添加的索引
注意:如果添加了复合索引,查询条件中只有使用了第一个字段,该索引才会被触发
例如(id,name)只有查询条件中使用了id字段,索引才会被使用
如果查询条件中只有name字段,则索引不会被触发