mysql必知必会-读书笔记(chap4-8)
来源:互联网 发布:加油站做账软件 编辑:程序博客网 时间:2024/06/05 04:01
chap 5 排序检索数据
取一个或多个列的名字,据此对输出排序:SELECT 列名1,列名2 FROM 表名 ORDER BY 列名1,列名2
如果是多个列,那么先根据列名1进行排序,然后对于列名1中相同的行,再根据列名2进行二次排序
数据排序不限于升序排列,可以在排序依据的列名后指定DESC实现降序排列。对于多个列上进行降序排列,必须对每个列指定DESC关键字。在后面可以添加LIMIT 数值规则,返回指定行
chap 6 过滤数据
使用WHERE子句,检索指定搜索条件的数据。eg:SELECT prod_name, prod_price FROM products WHERE prod_price = 2.50;
SQL过滤与应用层过滤区别:
数据在应用层过滤,为此目的,SQL的SELECT语句为客户机应用检索出超过实际所需的数据,然后客户机代码对返回数据进行循环,以提取出需要的行,这种就是应用层过滤。这种实现并不令人满意,因此,对数据库进行了优化,以便快速有效地对数据进行过滤。让客户机应用处理数据库的工作会极大的影响应用的性能,并且使所创建的应用完全不具备可伸缩性。此外,向客户机发送过多的数据还会导致网络带宽的浪费。
ORDER BY 和 WHERE 同时使用时,应该让ORDER BY位于WHERE之后。
mysql在执行匹配时默认不区分大小写,单引号用来限定字符串,如果是与数值列进行比较的值可以不用引号。
WHERE子句的操作符:
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两个值之间
SELECT prod_name, prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;
NULL空值与不匹配:
在使用WHERE匹配对应列的某个非NULL值时,匹配或者不匹配都不会显示出NULL值的行。
chap 7 数据过滤
组合WHERE子句: 可以使用AND,OR来组合WHERE子句的子句实现。在子句中组合使用AND和OR时,需要注意操作符的优先级顺序,AND优先级要高于OR,有时候可以借助括号来实现优先级保护。
IN操作符:IN后面会跟随一个集合或者说范围,满足这个范围的合法值,都会被查询出来。使用OR也可以实现相同的目的,但是使用IN,语法更加清楚直观,执行速度快,最重要的是:IN可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
NOT操作符:NOT就是否定!否定后面的条件或者WHERE子句,IN子句,BETWEEN子句和EXISTS子句限定的条件。
chap 8 用通配符进行过滤
通配符:用来匹配值的一部分的特殊字符,要想使用通配符,就得使用LIKE操作符
搜索模式:由字面值、通配符或者两者组合构成的搜索条件,搜索条件常用引号''来包围住
%:匹配任何字符出现任意次数,当然也可以匹配0个字符
_:只匹配单个字符而不是多个字符
使用通配符搜索的处理一般要比前面讨论的其他搜索花费时间更长,所以不要过度使用通配符;非要不可的时候,才把通配符放在搜索模式的开头;通配符的位置要清楚。
取一个或多个列的名字,据此对输出排序:SELECT 列名1,列名2 FROM 表名 ORDER BY 列名1,列名2
如果是多个列,那么先根据列名1进行排序,然后对于列名1中相同的行,再根据列名2进行二次排序
数据排序不限于升序排列,可以在排序依据的列名后指定DESC实现降序排列。对于多个列上进行降序排列,必须对每个列指定DESC关键字。在后面可以添加LIMIT 数值规则,返回指定行
chap 6 过滤数据
使用WHERE子句,检索指定搜索条件的数据。eg:SELECT prod_name, prod_price FROM products WHERE prod_price = 2.50;
SQL过滤与应用层过滤区别:
数据在应用层过滤,为此目的,SQL的SELECT语句为客户机应用检索出超过实际所需的数据,然后客户机代码对返回数据进行循环,以提取出需要的行,这种就是应用层过滤。这种实现并不令人满意,因此,对数据库进行了优化,以便快速有效地对数据进行过滤。让客户机应用处理数据库的工作会极大的影响应用的性能,并且使所创建的应用完全不具备可伸缩性。此外,向客户机发送过多的数据还会导致网络带宽的浪费。
ORDER BY 和 WHERE 同时使用时,应该让ORDER BY位于WHERE之后。
mysql在执行匹配时默认不区分大小写,单引号用来限定字符串,如果是与数值列进行比较的值可以不用引号。
WHERE子句的操作符:
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两个值之间
SELECT prod_name, prod_price FROM products WHERE prod_price BETWEEN 5 AND 10;
NULL空值与不匹配:
在使用WHERE匹配对应列的某个非NULL值时,匹配或者不匹配都不会显示出NULL值的行。
chap 7 数据过滤
组合WHERE子句: 可以使用AND,OR来组合WHERE子句的子句实现。在子句中组合使用AND和OR时,需要注意操作符的优先级顺序,AND优先级要高于OR,有时候可以借助括号来实现优先级保护。
IN操作符:IN后面会跟随一个集合或者说范围,满足这个范围的合法值,都会被查询出来。使用OR也可以实现相同的目的,但是使用IN,语法更加清楚直观,执行速度快,最重要的是:IN可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
NOT操作符:NOT就是否定!否定后面的条件或者WHERE子句,IN子句,BETWEEN子句和EXISTS子句限定的条件。
chap 8 用通配符进行过滤
通配符:用来匹配值的一部分的特殊字符,要想使用通配符,就得使用LIKE操作符
搜索模式:由字面值、通配符或者两者组合构成的搜索条件,搜索条件常用引号''来包围住
%:匹配任何字符出现任意次数,当然也可以匹配0个字符
_:只匹配单个字符而不是多个字符
使用通配符搜索的处理一般要比前面讨论的其他搜索花费时间更长,所以不要过度使用通配符;非要不可的时候,才把通配符放在搜索模式的开头;通配符的位置要清楚。
0 0
- mysql必知必会-读书笔记(chap4-8)
- 《C++ Primer Plus》读书笔记----CHAP4
- MySQL必知必会(读书笔记)
- MYSQL必知必会1-8读书笔记
- 《MySQL必知必会》读书笔记(一)
- MySQL必知必会(读书笔记二)
- mysql必知必会读书笔记(1/5) 前言-第8章
- mysql必知必会-读书笔记(chap1-4)
- mysql必知必会 读书笔记
- 《MySQL必知必会》读书笔记_2
- 《MySQL必知必会》读书笔记_3
- 《MySQL必知必会》读书笔记_4
- MySQL必知必会读书笔记
- mysql必知必会读书笔记
- 《MYSQL必知必会》读书笔记
- 《MySQL必知必会》读书笔记
- MYSQL必知必会读书笔记 第一章
- mysql必知必会读书笔记(三到九章)
- 【数码管识别】需要改进的地方
- Python 检验文本中的帖子是否被删
- Power小型机管理—基础配置
- DTS和PTS的解释(FFMPEG、HLS相关)
- 蛇形方阵(3)
- mysql必知必会-读书笔记(chap4-8)
- 接口、抽象类、虚方法区别
- Python Scrapy的安装过程
- grails中使用group by后的totalCount问题
- 系统调用原理
- Python 十进制到任意进制的转换
- PES结构详解
- Python 图片批量裁剪
- 网站前期的策划是后期决定seo效果的关键所在