MySQL数据库基础
第二章 简单查询
一、单元概述
通过本章的学习能够了解MySQL结构查询语言的概念,掌握SELECT查询语句的基本语法,掌握SELECT查询语句中过滤条件的使用,掌握过滤条件中比较运算符和逻辑运算符的使用,掌握查询结果的排序等
二、教学重点与难点
重点:
- SELECT查询语句的基本语法
难点:
- SELECT查询语句中过滤条件中逻辑运算符的混合使用
- SELECT查询语句中过滤条件中特殊比较运算符的使用
- 排序语法的应用
2.1结构化查询语言
2.1.1 结构化查询语言简介
- 结构化查询语言(Structured Query Language)简称SQL, 是操作和检索关系型数据库的标准语言,20世纪70年代由IBM公司开发,目前应用于各种关系型数据库。
2.1.2 结构化查询语言分类
- 结构化查询语言可分为5类:
- 数据查询语言(DQL:Data Query Language):语句主要包括SELECT,用于从表中检索数据。
- 数据操作语言(DML:Data Manipulation Language):语句主要包括INSERT,UPDATE和DELETE,用于添加,修改和删除表中的行数据。
- 事务处理语言(TPL:Transaction Process Language): 语句主要包括COMMIT和ROLLBACK,用于提交和回滚。
- 数据控制语言(DCL:Data Control Language):语句主要包括GRANT和REVOKE,用于进行授权和收回权限。
- 数据定义语言(DDL:Data Definition Language):语句主要包括CREATE、DROP、ALTER,用于定义、销毁、修改数据库对象
2.2 SELECT语句
2.2.1基本SELECT语句
-
基本SELECT语句作用
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MaKltnKc-1596085589004)(images/图片4-1.png)] -
基本SELECT语句语法
SELECT子句 表示所需检索的数据列。
FROM子句 表示检索的数据来自哪个表。SELECT [DISTINCT]{*| column| expression [alias],…}
FROM table;
2.2.2 SQL概念和规则
-
SQL语句相关概念
关键字(Keyword):SQL语言保留的字符串,例如,SELECT和FROM都是关键字。
语句(statement):一条完整的SQL命令。例如,SELECT - FROM dept 是一条语句。
子句(clause):部分的SQL语句,通常是由关键字加上其它语法元素构成,例如,SELECT - 是一个子句,FROM table也是一个子句。 -
SQL语句的书写规则
不区分大小写,也就是说SELECT,select,Select,执行时效果是一样的。
可以单行来书写,也可以书写多行,建议分多行书写,增强代码可读性,通常以子句为单位进行分行。
关键字不可以缩写、分开以及跨行书写,如SELECT不可以写成SEL或SELE CT等形式。
关键字最好使用大写,其它语法元素(如列名、表名等)小写。
Tab和缩进的使用可以提高程序的可读性
2.2.3 选择列
- 选择所有列
SELECT * FROM dept;
DEPTNO | DNAME | LOC |
---|---|---|
10 | ACCOUNTING | NEW YORK |
20 | RESEARCH | DALLAS |
30 | SALES | CHICAGO |
40 | OPERATIONS | BOSTON |
- 选择所有列
SELECT deptno,dname,loc FROM dept;
DEPTNO | DNAME | LOC |
---|---|---|
10 ACCOUNTING | NEW YORK | |
20 | RESEARCH | DALLAS |
30 | SALES | CHICAGO |
40 | OPERATIONS | BOSTON |
试比较哪条语句执行效率更高?
- 选择指定的列
SELECT deptno, loc FROM dept;
DEPTNO | LOC |
---|---|
10 | NEW YORK |
20 | DALLAS |
30 | CHICAGO |
40 | BOSTON |
练习
- 使用两种方式查询所有员工(EMP)信息
- 查询(EMP)员工编号、员工姓名、员工职位、员工月薪、工作部门编号。
2.3 算术运算符
2.3.1算术运算符
- 可以在SELECT语句中使用算术运算符,改变输出结果。
运算符 | 描述 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
- 算术运算符的使用
SELECT ename, sal, sal+300 FROM emp;
ENAME | SAL | SAL+300 |
---|---|---|
KING | 5000 | 5300 |
BLAKE | 2850 | 3150 |
CLARK | 2450 | 2750 |
JONES | 2975 | 3275 |
MARTIN | 1250 | 1550 |
ALLEN | 1600 | 1900 |
2.3.2 算术运算符优先级
- 乘除优先于加减
- 相同优先权的表达式按照从左至右的顺序依次计算
- 括弧可以提高优先权,并使表达式的描述更为清晰
SELECT ename, sal, 12*sal+100
FROM emp;
ENAME | SAL | 12*SAL+100 |
---|---|---|
KING | 5000 | 60100 |
BLAKE | 2850 | 34300 |
CLARK | 2450 | 29500 |
JONES | 2975 | 35800 |
MARTIN | 1250 | 15100 |
ALLEN | 1600 | 19300 |
- 使用括号改变优先级
SELECT ename, sal, 12*