SQL基础教程:查询与操作数据库
需积分: 17 111 浏览量
更新于2024-09-13
收藏 4KB TXT 举报
"数据库基本语法笔记"
在数据库操作中,SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。以下是一些基本的SQL语法概念和用法:
1. 比较运算符:
- `<`:小于
- `>`:大于
- `'Student' < 'Stupid'`:字符串比较时按照字典顺序。
2. 选择记录:
- `SELECT * FROM Student WHERE Age > 19 AND Dept = 'CS' OR Dept = 'EE';`:选择年龄大于19且专业为'CS'或'EE'的学生记录。
- `SELECT * FROM Student WHERE Age IS NULL;`:选择年龄为空的学生记录。
- `SELECT * FROM Student WHERE Age IS NOT NULL;`:选择年龄不为空的学生记录。
3. 列别名:
- `SELECT StudentNo AS No, StudentName AS Name FROM Student;`:将`StudentNo`列重命名为`No`,`StudentName`列重命名为`Name`。
4. 模糊查询:
- `%`:代表任意数量的字符,`LIKE '%abc%'`表示查找包含'abc'的记录。
- `_`:代表单个字符,`LIKE '_bc'`表示查找以'bc'开头的记录。
- `*`:在某些上下文中代表所有,但在`LIKE`中无效,不能用于模糊匹配。
5. 字符串匹配:
- `LIKE`与`NOT LIKE`用于执行模式匹配,如`LIKE 'Feel100%'`会找到以'Feel100'开头的记录。若要包含特殊字符,需进行转义,例如`Title='Feel100\%'`。
6. 排序:
- `ORDER BY`用于对结果集进行排序,`DESC`表示降序,`ASC`表示升序,默认是`ASC`。
- `SELECT * FROM Student WHERE Dept='' ORDER BY Age DESC, StudentNo;`:按年龄降序,然后按学号升序排列所有专业为空的学生。
7. 聚合函数:
- `SUM`, `AVG`, `MIN`, `MAX`, `COUNT`用于计算特定列的总和、平均值、最小值、最大值和计数。
- `SELECT AVG(Age) FROM Student;`:返回学生年龄的平均值。
- `SELECT COUNT(*) FROM Student WHERE Dept='';`:计算专业为空的学生数量。
8. 分组与过滤:
- `GROUP BY`用于根据一个或多个列对结果进行分组,`HAVING`用于过滤分组后的结果。
- `SELECT Dept, COUNT(*) FROM Student GROUP BY Dept;`:按专业分组并计算每个专业学生数量。
- `SELECT Dept, COUNT(*) FROM Student GROUP BY Dept HAVING COUNT(*) > 50;`:仅显示学生数量超过50的专业。
9. 子查询:
- 子查询可以在查询语句中嵌套,用于返回满足特定条件的结果集。
- 例子中提到的子查询是用于找出特定条件下的学生编号,可以结合其他操作进一步使用。
这些基础概念构成了SQL语法的基础,使得我们能够高效地查询、操作和分析数据库中的数据。对于不专门从事数据库工作的人来说,掌握这些基本语法也能在日常工作中大大提高效率。
2023-09-02 上传
2023-05-11 上传
2023-09-27 上传
2024-06-07 上传
2024-10-01 上传
2023-05-31 上传
likeilinux
- 粉丝: 0
- 资源: 5
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析