【JavaWeb每日作业卷20】涉及的知识点主要围绕MySQL数据库操作,包括聚合函数的使用、数据库备份恢复、分组查询、表字段约束以及多表设计。以下是对这些知识点的详细说明: 1. **聚合函数**: - `COUNT()`: 统计非NULL值的记录数,例如查询商品的总条数。 - `SUM()`: 计算指定列的数值总和,如查询价格大于200商品的总价值。 - `MAX()`: 找到指定列的最大值,如果是字符串则按字典顺序比较,例如找出商品的最大价格。 - `MIN()`: 找到指定列的最小值,字符串同理,例如找出商品的最小价格。 - `AVG()`: 计算平均值,非数值类型返回0,如查询某分类商品的平均价格。 2. **数据库备份和恢复**: - 使用工具如SQLyog,可以连接数据库并执行备份和恢复操作,确保数据安全。 3. **GROUP BY和HAVING子句**: - `GROUP BY`用于根据一个或多个列对数据进行分组,如统计不同分类商品的数量。 - `HAVING`用于在分组后筛选满足特定条件的数据,与`WHERE`的区别在于`HAVING`可配合聚合函数,而`WHERE`不能。 4. **表字段约束**: - **主键约束**: 一个表的唯一标识,确保每行的唯一性,可以设置为自动增长,如员工表的`empno`。 - **自动增长**: 主键字段可以设置为自动增长,每次插入新记录时自动递增。 - **非空约束**: 确保字段值不能为空,如员工表的`ename`。 - **唯一性约束**: 确保字段的值在表中唯一,如员工的身份证号。 - **外键约束**: 引用另一个表的主键,建立两个表之间的关联,如员工表的`deptno`引用部门表的`deptno`。 5. **多表设计**: - **一对多关系**:一个部门有多个员工,员工表`emp`有一个`deptno`字段作为外键指向部门表`dept`。 - **多对多关系**:需要创建中间表来存储多方关系,如学生、老师和课程的关系,中间表通常包含两个联合主键,分别引用两端的表的主键。 6. **复杂查询**: - **子查询和联接操作**:在员工和部门表的基础上,可以进行复杂的查询,如查找薪资高于"SMITH"的员工、查询所有员工及其直接上级、找出受雇日期早于上级的员工,以及展示部门及该部门的员工信息。 - **多表联接查询**:在学员、老师、课程及中间表的例子中,可以查询平均成绩、课程数量、特定老师的学生等信息,以及进行各种条件筛选。 以上就是JavaWeb第20天作业卷中涉及的主要MySQL数据库操作知识点,这些技能对于开发和管理数据库系统至关重要。通过这些练习,学习者可以提升数据库设计和查询能力,更好地理解和应用SQL语言。
- 粉丝: 30
- 资源: 330
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助