尚硅谷MySQL数据库教程笔记
需积分: 49 93 浏览量
更新于2024-08-05
收藏 53KB MD 举报
"尚硅谷数据库视频笔记总结mysql"
MySQL是一个广泛使用的开源关系型数据库管理系统(RDBMS),在各种规模的企业和项目中都有应用。本笔记主要涵盖了MySQL的基础查询操作,这是学习数据库管理的重要部分。
### 进阶一 - 基础查询
1. **查询表中的单个或多个字段**:
使用`SELECT`语句,指定需要查询的字段,如`SELECT last_name FROM employees`。若要查询多个字段,只需在`SELECT`后列出它们,用逗号分隔,如`SELECT last_name, salary, email FROM employees`。
2. **查询所有字段**:
查询所有字段有两种方式。一是逐一列出所有字段,另一种更简洁的方法是使用星号`*`,表示所有字段,如`SELECT * FROM employees`。
3. **查询常量值和表达式**:
`SELECT`语句不仅可以查询字段,还可以输出常量值,如`SELECT 100`或表达式结果,如`SELECT 100 % 98`。
4. **查询函数**:
MySQL提供了许多内置函数,例如`VERSION()`用于获取数据库版本。`SELECT VERSION()`会返回当前MySQL服务器的版本信息。
5. **别名的使用**:
别名有助于提高查询语句的可读性,特别是在字段名重复或较长时。可以使用`AS`关键字或简单的空格来设置别名,如`SELECT last_name AS 姓, first_name AS 名 FROM employees`。
6. **去除重复项**:
`DISTINCT`关键字用于去除查询结果中的重复项,如`SELECT DISTINCT department_id FROM employees`,将只返回不同的部门编号。
7. **运算符的作用**:
在MySQL中,`+`运算符只执行数值加法,不同于Java中的连接字符串功能。例如,`SELECT 100 + 90`会返回190。
8. **字符串连接**:
要在查询结果中连接两个字段,可以使用`CONCAT()`函数,例如`SELECT CONCAT(last_name, ', ', first_name) AS full_name FROM employees`,这将返回员工的全名。
9. **排序与过滤数据**:
可以通过`ORDER BY`对查询结果进行排序,如按工资降序排列`SELECT salary FROM employees ORDER BY salary DESC`。而`WHERE`子句用于过滤满足特定条件的数据,如`SELECT * FROM employees WHERE department_id = 100`。
10. **分组与聚合函数**:
使用`GROUP BY`对数据进行分组,配合聚合函数如`COUNT()`, `SUM()`, `AVG()`, `MIN()`, `MAX()`等,对分组后的数据进行统计。例如,计算每个部门的平均工资`SELECT department_id, AVG(salary) FROM employees GROUP BY department_id`。
11. **子查询**:
子查询是在一个查询语句内部嵌套另一个查询,用于处理复杂查询。例如,找出薪水高于部门平均薪资的员工`SELECT * FROM employees WHERE salary > (SELECT AVG(salary) FROM employees GROUP BY department_id)`。
这些基础查询技巧构成了MySQL查询的基本框架。随着深入学习,你还将接触到连接查询(JOINs)、视图(Views)、存储过程(Stored Procedures)等高级概念,进一步提升数据管理和分析的能力。在实际应用中,熟练掌握这些知识能帮助你有效地处理和利用数据库中的信息。
2020-11-11 上传
249 浏览量
点击了解资源详情
2023-09-30 上传
2024-07-07 上传
2023-09-22 上传
2020-12-28 上传
有梦的咸鱼&
- 粉丝: 0
- 资源: 1
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器