JavaWeb后端入门day17

一,DQL

1.基本查询

(1)查询多个字段:select  字段1,字段2,字段3...from 表名

(2)查询全部字段(通配符):select  *  from  表名

(3)去除重复记录:select distinct  字段列表  from  表名

(4)注意事项:*号代表查询所有字段,在实际开发中尽量少用(不直观,影响效率)

2.条件查询(where)

(1)条件:比较运算符和逻辑运算符

(2)语法:select  字段列表  from   表名   where   条件列表

3.聚合查询

(1)聚合函数

      ①count:统计数量

      ②max:最大值

      ③min:最小值

      ④avg:平均值

      ⑤sum:求和

(2)语法:select  聚合函数(字段列表) from 表名

(3)注意事项:nul值不参与所有聚合函数运算

4.分组查询

(1)语法:分组查询:select  字段列表  from  表名  [ where   条件 ]  group   by  分组字段名  [ having  分组后过滤条件 ]

(2)where与having的区别

      ①where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤

      ②where不能对聚合函数进行判断,而having可以

5.排序查询

(1)语法:select 字段列表  from 表名 [ where 条件列表] [group by 分组字段] order by 字段1  排序方式1, 字段2  排序方式2 …

(2)排序方式:ASC 升序,DESC 降序

(3)注意事项:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序

6.分页查询

(1)语法:select  字段列表  from   表名  limit  起始索引, 查询记录数

(2)注意事项

      ①起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数

      ②分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT

      ③如果查询的是第一页数据,起始索引可以省略

7.SQL语句执行顺序:from > where > group by > having > select > order by>limit

二,多表设计

1.一对多

(1)设计方法:多的一方创建外键,对应一的一方的主键

(2)实际项目一般使用逻辑外键,物理外键影响增、删、改的效率,容易引发数据库的死锁问题,消耗性能

2.一对一:一张表字段比较多,经常只查询某几个字段,可以将这张表拆分为2张表,在任意一张表添加外键关系即可

3.多对多:如果两张表是多对多关系,需要通过建立中间表来解决,在中间表中至少包含两个表外键,分别关联两张表主键

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值