大数据全栈成长计划第一阶段-关于mysql的约束和分页
大数据全栈成长计划第一阶段-关于mysql的约束和分页
一、mysql的约束
定义:为了保证数据的一致性和完整性,SQL规范以约束的方式对表数据进行额外的条件限制。约束是表级的强制规定,可以在创建表时规定约束(通过CREATE TABLE 语句),或者在表创建之后也可以(通过ALTER TABLE 语句)
约束的类型
约束类型 |
意义 |
NOT NULL |
非空约束,规定某个字段不能为空;非空约束用于确保当前列的值不为空值,非空约束只能出现在表对象的列上。 Null类型特征:1、所有的类型的值都可以是null,包括int、float等数据类型 2、空字符串””不等于null,0也不等于null |
UNIQUE |
唯一约束,规定某个字段在整个表中是唯一的;同一个表可以有多个唯一约束,多个列组合的约束。在创建唯一约束的时候,如果不给唯一约束名称,就默认和列名相同。 MySQL会给唯一约束的列上默认创建一个唯一索引 |
PRIMARY KEY |
主键(非空且唯一);主键约束相当于唯一约束+非空约束的组合,主键约束列不允许重复,也不允许出现空值 如果是多列组合的主键约束,那么这些列都不允许为空值,并且组合的值不允许重复。 每个表最多只允许一个主键,建立主键约束可以在列级别创建,也可以在表级别上创建。 MySQL的主键名总是PRIMARY,当创建主键约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。 |
FOREIGN KEY |
外键;外键约束是保证一个或两个表之间的参照完整性,外键是构建于一个表的两个字段或是两个表的两个字段之间的参照关系。 从表的外键值必须在主表中能找到或者为空。当主表的记录被从表参照时,主表的记录将不允许删除,如果要删除数据,需要先删除从表中依赖该记录的数据,然后才可以删除主表的数据。 还有一种就是级联删除子表数据。 注意:外键约束的参照列,在主表中引用的只能是主键或唯一键约束的列 同一个表可以有多个外键约束 |
CHECK |
检查约束(mysql不支持这个,虽然可以用,但是没有效果) |
DEFAULT |
默认值 |
单列约束
|
每个约束只约束一列
|
多列约束
|
每个约束可约束多列数据
|
列级约束 |
只能作用在一个列上,跟在列的定义后面
|
表级约束
|
可以作用在多个列上,不与列一起,而是单独定义
|
二、MySQL中使用limit实现分页
背景
查询返回的记录太多了,查看起来很不方便,怎么样能够实现分页查询呢?
分页原理
所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件
怎么分段,当前在第几段(每页有几条,当前在第几页)
前10条记录:SELECT * FROM table LIMIT 0,10;
第11至20条记录:SELECT * FROM table LIMIT 10,10;
第21至30条记录:SELECT * FROM table LIMIT 20,10;
公式:(当前页数-1)*每页条数,每页条数SELECT * FROM table LIMIT(PageNo-1)*PageSize,PageSize;
- 点赞
- 收藏
- 关注作者
评论(0)