MySQL约束与查询操作详解
需积分: 9 123 浏览量
更新于2024-09-04
收藏 11KB MD 举报
"这篇资源是关于JavaWeb基础学习的一部分,主要涵盖了MySQL数据库的约束和一些基本的查询操作,包括排序查询、聚合函数以及分组查询。作者分享了学习笔记,旨在方便个人复习和与他人交流,同时适用于初学者进阶MySQL知识。"
在JavaWeb开发中,MySQL是一个常用的数据库系统,其约束机制对于数据完整性和一致性至关重要。MySQL约束主要包括以下几种:
1. 主键(Primary Key):用于唯一标识表中每一行数据,不允许有重复且不能为空。一个表只能有一个主键。
2. 唯一约束(Unique):与主键类似,确保某一列的值在整个列中是唯一的,但允许存在NULL值。
3. 非空约束(Not Null):指定列的值不能为NULL,确保数据的完整性。
4. 外键(Foreign Key):用于建立和加强两个表之间的关联,通常用于实现参照完整性。
5. 检查约束(Check):限制列中的值必须满足特定条件,但MySQL不直接支持,通常通过触发器来实现。
接下来,我们来看一下DQL查询语句中的关键点:
1. 排序查询:通过`ORDER BY`子句实现,可以指定一个或多个排序字段,以及升序(ASC)或降序(DESC)排序方式。排序是多级的,当前面的条件相同时,才会考虑后面的条件。
2. 聚合函数:这些函数用于对一组值进行统计计算。
- `COUNT()`:计算非空值的数量,可以用于计算总行数(`COUNT(*)`)。
- `MAX()`:返回一列的最大值。
- `MIN()`:返回一列的最小值。
- `SUM()`:计算一列的总和。
- `AVG()`:计算一列的平均值。聚合函数会忽略NULL值,若要包含NULL值,可以使用`IFNULL()`函数。
3. 分组查询:通过`GROUP BY`子句将数据按指定的字段进行分组,分组后的查询通常结合聚合函数使用,如计算每个分组的平均值或总数。`WHERE`子句用于在分组前过滤数据,而`HAVING`子句则在分组后过滤满足特定条件的分组。
举例说明:
- 按性别分组,查询男女学生的平均数学成绩:`SELECT sex, AVG(math) FROM student GROUP BY sex;`
- 添加分组后的人数统计:`SELECT sex, AVG(math), COUNT(id) FROM student GROUP BY sex;`
- 限制只有数学成绩超过70分的分组:`SELECT sex, AVG(math), COUNT(id) FROM student WHERE math > 70 GROUP BY sex;`
- 进一步限制分组后人数需大于2人的结果:`SELECT sex, AVG(math), COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id) > 2;`
通过这样的学习和实践,可以更好地理解和掌握MySQL数据库的基本查询和约束机制,为后续的JavaWeb开发打下坚实的基础。
2023-08-30 上传
2024-01-09 上传
2023-03-21 上传
2024-02-29 上传
2022-10-13 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
陌上烟雨遥宇轩
- 粉丝: 4
- 资源: 3
最新资源
- 基于DSN(动态稀疏网络)的时间序列分类(Python完整源码和数据)
- Maveryx-开源
- Excel模板4-外贸进出口年中分析报告.zip
- eaze-alert:虚拟dom的样式警报组件
- STM32 232串口控制LED_STM32F103跑马灯_
- 行业分类-设备装置-便携式无线信息终端、信息通知方法、记录媒体以及微计算机.zip
- 基于Flask的实验楼后端设计源码
- oauth2-couchbase-token-store:用于Spring安全 oauth2 的 Couchbase 令牌存储
- 程序员,你能真正掌握多少编程技术?共2页.pdf.zip
- chglog:change一个关于拉取和指定提交的变更日志生成器
- 行业分类-设备装置-一种焊接平台的使用方法.zip
- WebSID64:访问移动设备api的简单HTML5 webaudio合成器
- 14_XN297L_Democode -250K(4线SPI)_V1p0_DACapp下载_xn297ldemo_DEMO_xn
- dropwizard-environment-config:Dropwizard ConfigurationFactory 允许将环境变量指定为 YAML 中的值
- 基于SSM框架的电影后台管理网站设计源码
- 程序共3页.pdf.zip