服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL过滤数据操作方法梳理

MySQL过滤数据操作方法梳理

2022-11-27 20:01刘婉晴 Mysql

数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只是根据特定的需要提取表数据的子集。因此检索所需数据时需要指定搜索条件,搜索条件也称为过滤条件

前言

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

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

提取码: u3vs

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

1. where 字句的使用

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

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

?
1
2
3
select prod_name , prod_price
from Products
where prod_price = 3.49;

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

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

?
1
2
3
4
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 检查单个值

示例:

?
1
2
3
select prod_name, prod_price
from Products
where prod_price < 10;

2.2 不匹配检查

示例:

?
1
2
3
select vend_id , prod_name
from Products
where vend_id != 'DLL01';

2.3 范围值检查

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

示例:

?
1
2
3
select prod_name, prod_price
from Products
where prod_price between 5 and 10;

2.4 空值检查

示例:

?
1
2
3
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过滤数据内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/liuwanqing233333/article/details/127307083

延伸 · 阅读

精彩推荐
  • Mysqlmysql免安装没有任何root权限

    mysql免安装没有任何root权限

    这篇文章主要介绍了mysql免安装没有任何root权限的安装与配置教程,本文图文并茂给大家介绍的非常详细,需要的朋友参考下 ...

    一璐到底4232020-07-11
  • Mysql几个MySQL高频面试题的解答

    几个MySQL高频面试题的解答

    这篇文章主要介绍了几个MySQL高频面试题的解答,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下...

    MySQL技术9662021-04-05
  • MysqlMac 安装 mysqlclient过程解析

    Mac 安装 mysqlclient过程解析

    这篇文章主要介绍了Mac 安装 mysqlclient过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...

    希希里之海3622020-11-30
  • MysqlMySQL 8 新特性之Invisible Indexes

    MySQL 8 新特性之Invisible Indexes

    这篇文章主要介绍了MySQL 8 新特性之Invisible Indexes 的相关资料,需要的朋友可以参考下 ...

    iVictor4072020-08-31
  • Mysqlmysql实用技巧之比较两个表是否有不同数据的方法分析

    mysql实用技巧之比较两个表是否有不同数据的方法分析

    这篇文章主要介绍了mysql实用技巧之比较两个表是否有不同数据的方法,结合实例形式分析了mysql数据表比较的相关操作技巧与注意事项,需要的朋友可以参考...

    luyaran9492020-12-28
  • MysqlMAC下MYSQL5.7.17连接不上的问题及解决办法

    MAC下MYSQL5.7.17连接不上的问题及解决办法

    MAC下MYSQL5.7.17无法连接的问题,下载安装完SQLBench_community 6.3.9后新建MYSQL CONNECTIONS根本连接不上,提示为密码错,什么原因如何解决呢?今天小编给大家解答...

    mysql教程网1552020-07-18
  • MysqlMySQL数据库之数据表操作

    MySQL数据库之数据表操作

    这篇文章主要介绍了MySQL数据库之数据表操作,文章基于MySQL数据库的相关资料展开详细的数据表操作的详情,具有一定的参考价值,需要的小伙伴可以参考...

    彭世瑜psy11122022-10-26
  • MysqlMySQL中列子查询与行子查询操作的学习教程

    MySQL中列子查询与行子查询操作的学习教程

    这篇文章主要介绍了MySQL中列子查询与行子查询操作的学习教程,子查询是MySQL入门学习中的基础知识,需要的朋友可以参考下 ...

    MYSQL技术网3642020-05-27