mysql 2.过滤数据 where 及其以后

MYSQL数据 所有表都是由一个或多个列组成的

列是有title的

每一行 存储了一个完整的包含所有列(字段)的信息行 是一个记录 一个完整的记录

检索的时候:得到的 数据是 所有数据行的 这个字段 信息

【列是字段 行是记录】

>> 检索出来的字段是数据表的所有该字段 ALL

【select】

select 检索的理解  不带where :

select * from table

1、检索的标的是整张表  检索出来之后 select之后的函数和方法 可以进行数据的二次处理和加工

带有where的检索

做了一个过滤  是对整张表的查询和拉出数据之间的一个 筛选过程 过滤

在拉取 检索的时候 不检索所有的行 

过滤的方式是  通过限定的条件  操作符   每一个行的字段和限定条件的的一个比较

这个比较的过程也是  一行一行的比较  单张表的时候  行与行之间是有独立性的

select * from table where zd  =  !=   <>  <  >  <=   >=   is NULL   等等的判断

【过滤数据】

对检索出来的行数据进行一个筛选

前面检索的时候

筛选:不要所有的zd字段,只要指定的字段

如何指定? 指定搜索条件过滤 根据字段的值来筛选 排除该字段所在的 行(记录) 从而排除 zd

select zd from table where zd = x;

select 最大整体过滤字段 from where 过滤字段里面的单个元素

具体的筛选的比较操作符就

!= 和 <> 一样的

between 5 and 10  之间  左开 右开区间

1、可以直接对目标字段进行筛选

2、也可以通过其他的字段来筛选目标字段

【ORDER BY和WHERE子句时,应该让ORDER BY位于WHERE之后】

对筛选出来的数据 最后进行order by 排序

select zd from table where zd = x ordr by zd

【SQL过滤与应用过滤? 放在哪一端来过滤】

1、数据也可以在应用层来过滤,客户机过滤 造成网络带宽的浪费 降低客户机的性能

2、放在近端处理是比较好的

【mySQL在执行匹配时默认不区分大小写】

where name = "fuse"

>>Fuse

where binary name = "fuse" binary mysql 区分大小写

【空值 检查】 NULL

NULL 无值(no value),它与字段(0、空字符串或仅仅包含 空格不同)

where zd is NULL

备注:NULL 无值(no value)不等于 0、空字符串或仅仅包含空格不同

【多条件过滤】

逻辑操作符 AND OR

逻辑操作符在where 后面 组合使用

AND在计算次序中优先级更高

解决操作符优先级的方法: 用括号来处理()

IN (V,V,V,V,V)

IN 和 OR 是等效的

有点:

1、比or看起来更简洁 操作符少

IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建

立WHERE子句。

NOT 取反条件

NOT IN (V,V,V,V,V)

NOT BETWEEN (V,W)

NOT EXISTS()

【使用通配符来进行过滤】

LIKE + 通配符

前述的过滤条件都是已知的 NOT IN (V,V,V,V,V) =v BETWEEN (V,W)

like 用于模糊匹配 LIKE是谓词而不是操作符

1、%任何字符出现 任意次数

like "a" 匹配 字符串 a 不使用通配符 like 是等号的意思

like "a%" 匹配末尾 找出所有以词a起头的行

like "%aaaa"

like "%aaaa%" '%anvil%'表示匹配任何位置包含文本anvil的值,而不论它之前或之后出现什么字符

【任何字符 任意次数 包括0】

【不匹配 NULL 注意未空格不会和字符串匹配 匹配后面+ %】

2、_ 匹配单个字符字符出现

like _ ton >> 1 ton , 2 ton ,a ton 只是匹配一个字符

【通配符使用注意优化】

通配符搜索的处理一般要比前面讨论的其他搜索所花时间更长 * 模糊匹配比精准匹配更花费时间

不过度使用

不要把它们用在搜索模式的开始处。把通配符置于搜索模式的开始处,搜索起来是最慢的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值