chap mysql借点_mysql必知必会-读书笔记(chap4-8)

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个字符 _:只匹配单个字符而不是多个字符 使用通配符搜索的处理一般要比前面讨论的其他搜索花费时间更长,所以不要过度使用通配符;非要不可的时候,才把通配符放在搜索模式的开头;通配符的位置要清楚。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值