MySQL过滤数据操作方法梳理

 更新时间:2022年10月21日 09:08:37   作者:刘婉晴  
数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只是根据特定的需要提取表数据的子集。因此检索所需数据时需要指定搜索条件,搜索条件也称为过滤条件

前言

本实验中所用数据库创建SQL语句以及插入数据到数据库中的SQL语句链接:

链接: https://pan.baidu.com/s/1BnFJrLH41iTXlYKhqPninQ?pwd=u3vs

提取码: u3vs

书接上回说到,排序检索数据

1. where 字句的使用

在 select 语句中,数据会根据 where 字句指定的条件进行过滤,where 字句在from字句( 表名)之后给出。

示例: 选出价格为 3.49 的商品

select prod_name , prod_price
from Products
where prod_price = 3.49;

注意: order by 语句与 where 语句同时出现时,order by 要在where 字句后。(order by 字句的位置一定是 select 语句的最后一条字句)

示例:选出在 3~6 元之间的产品名和价格,并按价格排序

select prod_name, prod_price
from Products
where prod_price between 3 and 6
order by prod_price;

2. where 字句操作符

where 字句具有如下操作符 = 、< 、 > 、!= 、 <= 、 >= 、!< 、 !> 、between 、is null 等

2.1 检查单个值

示例:

select prod_name, prod_price
from Products
where prod_price < 10;

2.2 不匹配检查

示例:

select vend_id , prod_name
from Products
where vend_id != 'DLL01';

2.3 范围值检查

使用 between 运算符可以检索某个范围的值,它需要两个值表示一个范围。

示例:

select prod_name, prod_price
from Products
where prod_price between 5 and 10;

2.4 空值检查

示例:

select prod_name, prod_price
from Products
where prod_price is null;

3. 扩展

3.1 SQL过滤与应用过滤

数据也可以在应用层进行过滤,即 select 语句返回所有数据,客户端代码对返回数据进行筛选,提取出自己需要的行。但是应用过滤具有以下缺点:

  • 影响应用性能
  • 所创建的应用不具备伸缩性
  • 服务器通过网络发送很多多余数据,浪费网络带宽

3.2 引号的使用

当 where 字句筛选条件为 字符串时,需要用 引号限定字符串,用单引号和双引号都可以。而当筛选条件为数值时,不需要用引号。

3.3 NULL的特殊性

当我们通过 where 字句选择不包含指定值的行时,有时候我们希望返回 NULL 值的行,但是这不能实现。NULL 值比较特殊,进行匹配过滤和非匹配过滤时,都不会返回 NULL 值结果

到此这篇关于MySQL过滤数据操作方法梳理的文章就介绍到这了,更多相关MySQL过滤数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql执行计划介绍

    mysql执行计划介绍

    下面我简单讲讲mysql的执行计划,只列出了一些常见的情况,希望对大家有所帮助
    2013-11-11
  • MySQL数据实时同步到MongoDB的实践分享

    MySQL数据实时同步到MongoDB的实践分享

    很多 DBA 同学经常会遇到要从一个数据库实时同步到另一个数据库的问题,同构数据还相对容易,遇上异构数据、表多、数据量大等情况就难以同步,我自己亲测了一种方式可以实现MySQL数据实时同步到MongoDB,跟大家分享一下,希望对你有帮助
    2024-01-01
  • mysql同步复制搭建方法指南详细步骤

    mysql同步复制搭建方法指南详细步骤

    MySQL数据同步主要有三种方式: 1.利用MySQL自身的数据库同步功能 2.利用MySQL数据库的特性(数据库存在固顶目录,并且以文件形式存储),进行数据库目录同步以达到数据同步目的 3.利用专用的MySQL数据库同步软件
    2008-04-04
  • 浅谈MySql整型索引和字符串索引失效或隐式转换问题

    浅谈MySql整型索引和字符串索引失效或隐式转换问题

    本文主要介绍了MySql整型索引和字符串索引失效或隐式转换问题,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • MySQL 根据条件多值更新的实现

    MySQL 根据条件多值更新的实现

    本文主要介绍了MySQL 根据条件多值更新的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • MySQL关于ERROR 1290 (HY000)报错解决方法

    MySQL关于ERROR 1290 (HY000)报错解决方法

    在本篇文章里小编给大家整理的是关于MySQL关于ERROR 1290 (HY000)报错的解决方法,有兴趣的朋友们可以参考下。
    2019-09-09
  • MySQL分库分表动态扩容缩容方式

    MySQL分库分表动态扩容缩容方式

    MySQL分库分表动态扩容缩容方案,通过选择数据库中间件,设计分库分表方案,进行环境测试,完成单库单表到分库分表的迁移,实现双写方案,并上线提供服务,扩容时,通过增加数据库服务器,呈倍数扩容,由DBA负责库表迁移,无需修改路由规则,即可基于新的资源提供服务
    2025-02-02
  • mysql SKIP-NAME-RESOLVE 错误的使用时机造成用户权限

    mysql SKIP-NAME-RESOLVE 错误的使用时机造成用户权限

    新加的一台服务器,连接内网中的一台mysql服务器的时候,经常出现超时。
    2011-06-06
  • 快速了解MySQL 索引

    快速了解MySQL 索引

    这篇文章主要介绍了MySQL 索引的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • 深入mysql存储过程中表名使用参数传入的详解

    深入mysql存储过程中表名使用参数传入的详解

    本篇文章是对mysql存储过程中表名使用参数传入进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论