java数据库之表的完整性

一.查询语句

1.查询去重信息:关键字 distinct

 

 2.两值相加时的判断条件IFNULL

注意: if()和ifnull()的区别

if(true,a,b),  if(false,a,b) 这个就是第一个如果是true,就等于a,false就等于b,有点像三元表达式

ifnull(null, a),ifnull(a,b),    ifnull里有两个数,如果第一个不是null,是a非null,就都等于a, 如果a=Null,就都为a。

eg:

SELECT IFNULL(NULL,"11"); -> 11

SELECT IFNULL("00","11"); -> 00

 

3.给查询的字段起别名 关键词AS 可以省略

 

4. 查询表记录, 按某一字段升序排序

 

 

 5.聚合函数 sum avg max min count(总记录数)
    可以自动去除空值

 

 6.分组查询 GROUP BY
按什么分组,前面查询的字段就是什么,为了保证查询结果数量对等

 

7.where条件和关键字having
where条件要加在group by之前;
注意:

1.where后面不能使用聚合函数
2.分组之后,如果要使用添加筛选条件需要使用 Having关键词
3.having后边可以使用聚合函数
4.where条件是在分组之前进行筛选(即在group by之前)
5.Having条件是在分组之后进行筛选(即在group by之后)

 

8.分页查询 关键词 limit(mysql方言)

  • limit 从第几条开始显示的数据,一共显示多少条数据

  • 从第0条数据开始显示;
  • limit关键词 要在所有的条件之后写

 

9.模糊查询 关键词 like
使用占位符: %(多个字符), _(一个下划线表示一个字符).

 

二.数据完整性

  • 数据完整性(保证用户插入的数据有效)
  • 引用完整性(多张表依赖的关系,单表不存在此完整性)
  • 域完整性(一个单元格的完整性)
  • 实体完整性(保证一条数据局的完整性)
  • 主键(唯一且不能为空) 精准删除
  • 唯一键(唯一的 但是可以是空)
  • 主键自增

1.设置主键的三种方式:

  关键字 PRIMARY KEY

 

 2.#删除主键约束 注意:删除主键不用约束 关键词

 

 3.唯一键约束 关键词 unique

 

4.主键自增 关键词 auto_increment

 

 注意:主键只能自增,删除了也不会倒退(即删除之后,再添加会接着自增).
插入时,可以给null,让他自己自增.

 

5.域完整性:

not null(非空)
default(默认值)
字段类型
注意:有默认值约束时,直接插入空可以,
要使用默认值,可以不插入该默认字段(和主键不同)

 

 

 6. 引用完整性(参照物约束)

    表和表之间的关系

  • 一对一(罕见) 一对多 多对多(常用)
  • 学生表(主) 和分数表(从) (可以通过外键来建立两张表之间的关系)
    建立外键的方式

 

 

 删除外键(一个表中可能有多个外键)

 

 

 多对多关系

 

posted @ 2019-12-20 10:36  辰辰chenchen  阅读(458)  评论(0编辑  收藏  举报