MySQL基础查询命令详解

需积分: 15 0 下载量 56 浏览量 更新于2024-09-07 收藏 43KB DOCX 举报
"MYSQL基本查询操作命令笔记" MySQL是一个广泛使用的开源关系型数据库管理系统,其SQL语言是数据查询、更新和管理的核心工具。本笔记主要涵盖了SQL查询的基础操作,包括选择数据、处理重复行、使用别名、定义取值范围、字符串匹配、表内比较、集合操作以及谓词和量词的使用。 1. **选择数据**:`SELECT`语句是最基本的查询命令,用于从表中选取指定的列。例如,`SELECT target-attribute-list FROM table-list WHERE conditions`,你可以根据需求选择不同的列,并指定筛选条件。 2. **除去重复行**:`DISTINCT`关键字用于去除查询结果中的重复行,确保返回的每一行都是唯一的。 3. **别名的使用**:为了简化查询语句,可以使用`AS`或直接用逗号分隔为列定义别名,如`SELECT e1.fname, e1.lname FROM employees e1`,这里的`e1`就是`employees`表的别名。 4. **取值范围**:`BETWEEN`和`NOT BETWEEN`用于选取值在指定范围内的数据,而`LIKE`则用于进行字符串匹配。`%`通配任何数量的字符,`_`匹配单个字符,`\`用于转义特殊字符。 5. **字符串匹配**:`=`, `LIKE` 和 `NOT LIKE` 可以帮助你根据字符串进行精确或模糊匹配。例如,`WHERE Title LIKE '%systems%'`将找出包含"systems"的课程标题。 6. **表内比较**:通过比较不同表中的相同字段,可以找到满足特定条件的记录对。例如,找到GPA相同的学号不同的学生对。 7. **集合操作**:`UNION`, `INTERSECT`, `EXCEPT`(Sybase)和 `MINUS`(Oracle)用于合并或对比多个查询的结果集。它们分别表示并集、交集和差集。 8. **谓词 `IN` / `NOT IN`**:`IN` 用于选取列值在指定列表中的记录,`NOT IN` 则选取不在列表中的记录。 9. **集合比较运算符**:`>`, `>=`, `<`, `<=` 可以与 `ANY` 或 `SOME` 关键字结合,用于判断某个值是否大于、等于或小于任何(some)或所有(any)子查询的结果。 10. **集合比较运算符与 `ALL`**:类似地,这些比较运算符也可以与 `ALL` 结合,检查某个值是否大于、等于或小于所有子查询返回的值。 11. **存在量词 `EXISTS` / `NOT EXISTS`**:`EXISTS` 用于检测子查询是否至少返回一行数据,`NOT EXISTS` 检查子查询是否不返回任何行。 12. **量词的转化**:有时可以将 `IN`, `EXISTS`, `ANY`, `SOME`, 或 `ALL` 量词转化为连接(JOIN)操作,以实现相同的效果,尤其是在涉及多个表的复杂查询中。 13. **JOIN操作**:`JOIN` 用于连接两个或更多表,基于它们之间的共同字段。例如,`JOIN ON` 或 `JOIN USING` 分别用于指定连接条件和列名。 这些基本的SQL查询命令构成了MySQL查询的基础,通过它们,你可以灵活地从数据库中获取、过滤和组合数据。熟练掌握这些命令对于进行数据分析、报表生成和数据库维护至关重要。