JavaWeb学习-DAY2

DQL查询语句

1.排序查询
order by 子句;
order by 排序字段1 排序方式1,排序字段2 排序方式2;
ASC升序(默认) DESC降序
**注意:**多个排序条件时,前一个排序值一样时才会判断后一个条件

**2.聚合函数:**将一列数据作为一个整体,进行纵向计算

count:计算个数
	select count(列) from 表;
	
max:最大值
	select max(列) from 表;
	
min:最小值
	select min(列) from 表;
	
sum:求和
	select sum(列) from 表;
	
avg:平均值
	select avg(列) from 表;

**注意:**聚合函数的计算会排除所有的null值。

3.分组查询

SELECT 需求 FROM 表 GROUP WHERE 条件 BY 分组字段;
SELECT 需求 FROM 表 GROUP BY 分组字段 HAVING 条件;

注意:where 在分组前进行限定,并且后面不能跟聚合函数;having在分组后进行限定,后面可以进行聚合函数的判断。

4.分页查询

SELECT * FROM 表 limit 开始的索引,每页查询的数据;
开始的索引=(当前页码-1)*每页显示的条数

约束:

分类:
主键约束:primary key
非空约束:not null
唯一约束:unique
外键约束:foreign key
级联操作:ALTER TABLE 表名 ADD CONSTRAINT 外键名称
FOREIGN KEY(外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATA CASCADE ON DELETE
CASCADE;
ON UPDATA CASCADE:级联更新
ON DELETE CASCADE:级联删除

数据库的设计

1.多表之间的关系:
一对一

一对多(多对一)
	在多的一方建立外键,指向一的一方的主键
	
多对多2
	需要借助第三张中间表,中间表至少包含两个字段,分别作为外键指向另外两张表的主键。

2.数据库设计的范式:
第一范式(1NF):每一列都是不可分割的原子项
第二范式(2NF):在1NF的基础上,非码属性必须完全依赖于码
*函数依赖:*若通过A属性的值可以确定一个唯一B属性,则称B依赖于A。
*完全函数依赖:*若A是一个属性组,则B属性值的确定需要依赖于A属性组中所有的属性值。
*部分函数依赖:*若A是一个属性组,则B属性值的确定只依赖于A组中某一些值。
*传递函数依赖:*通过A确定唯一B,通过B确定唯一C。

第三范式(3NF):在2NF的基础上,任何非主属性不依赖于其他非主属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值