前面介绍了使用 insert 对数据表进行数据的插入,在插入数据以后,我们简单使用 SELEECT 进行过查看插入的数据。

SELECT * FROM book;

SELECT 是查看插入数据的语句,* 表示所有字段,即查看所有字段的数据。

现在我们使用上一节中使用的 INSERT 字段插入如下数据,查看得到如下结果:

但是 * 这个字符我们一般不常使用,需要查看什么字段内容,就 SELECT 什么内容,比如我们查看 book_name, author,就可以使用以下语句:

SELECT book_name, author FROM book;

一个是消耗有点大,意思是要选择数据库中所有的字段,在返回的数据量比较大的时候会比较耗时。
二个在我看来,因为在 Python 中常常使用到 SELECT 到的数据,可能前一阵子按照字段顺序写好了程序,后来数据库中字段顺序一改变,连程序都得修改。

所以在获取数据的时候最好是指明挑选的哪些字段。

数据过滤 WHERE

数据有挑选就有条件过滤, 以上述数据为例,如果我们需要 id 值大于 2 的数据,那么就可以使用 WHERE 来过滤挑选。

SELECT book_name, author FROM book WHERE id > 2;

没错, MySQL中的大于小于的过滤条件和其它语言的使用方法差不多,如下是对照表,摘自《MySQL必知必会》:

操作符 说明
= 等于
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于
BETWEEN 在指定的值之间
<> 不等于

在以上表格中可以看到有一个值是 <> ,这个也是不等于的意思,和 != 是同样的用法,但一般推荐使用 !=。

注意1:默认不区分大小写

MySQL在执行匹配时默认不区分大小写,还是我们开始那张表,可以看到最后一条数据的 HTML 大写的,现在我们执行以下语句:

SELECT book_name, author FROM book WHERE book_name = 'html';

可以得到如下结果:

虽然我们搜索的条件是小写的,但是返回的结果是大写的,默认不区分大小写就是这个意思。

注意2:BETWEEN 的使用

BETWEEN 这个关键字的用法,如果我们要搜索 id 值在 2 到 4 之间的数据,就可以使用如下语句:

SELECT id, book_name, author FROM book WHERE id BETWEEN 2 AND 4;

其中,数值之间用 AND 连接,而且我们可以看到 使用 BETWEEN 是包含了两个边界值的,那么这条语句也就等同如下:

SELECT id, book_name, author FROM book WHERE id >= 2 AND id <= 4;

可以看到结果是一样的。

那么如果我们想要的开区间呢,也就是 大于 2 并且 小于 4,
很简单, BETWEEN 不能用了,别懒,用两个操作符号连接把:

SELECT id, book_name, author FROM book WHERE id > 2 AND id < 4;

注意3:NULL值的选择

现在我们向表中插入一条数据:

INSERT INTO book (book_name) values('CSS');

没有向其中插入 author 的值,查看数据 :
现在,我们要查看表中所有 author 为 NULL 的值呢,可以使用如下语句:

SELECT * FROM book WHERE author IS NULL;

就可以得到结果,如果是挑选数值不是 NULL 的数据呢,前面加个 NOT,这个我们后一节会提到的。

SELECT * FROM book WHERE author IS NOT NULL;

MySQL 基操教程(五) SELECT 数据查看之大于、小于相关推荐

  1. mysql数据库入门教程(6):数据的增删改

    前面两篇博文介绍了数据库的查询 mysql数据库入门教程(4):查询讲解大全 mysql数据库入门教程(5):多表操作(连接查询,子查询,分页查询,联合查询) 今天介绍下数据库的增删改. 数据库基本操 ...

  2. C++ QT MYSQL基操

    以下是一个C++ QT操作MySQL数据库的工具类示例代码,包括连接数据库.创建表.插入数据.删除数据.修改数据.查询数据.查询表字段名称等操作: #include <QtSql/QSqlDat ...

  3. MySQL数据库实操教程(10)——删除数据

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...

  4. 【Mysql数据库全套教程笔记-SELECT使用篇】

    Mysql基础篇-SELECT使用篇 SQL之SELECT使用篇 第03章:基本的SELECT语句 第04章:运算符 第05章:排序与分页 第06章:多表查询 第07章:单行函数 第08章:聚合函数 ...

  5. mysql数据库入门教程(8):数据的基本类型

    因为在创建表的时候需要指定数据类型和约束,本文介绍下数据的基本类型 1常见的数据类型 2数值 数值:整形 /* 分类: tinyint.smallint.mediumint.int/integer.b ...

  6. PostGIS教程五:数据

    目录 一.nyc_census_blocks 二.nyc_neighborhoods 三.nyc_streets 四.nyc_subway_stations 五.nyc_census_sociodat ...

  7. python 40位的数减个位数_Python数据分析入门教程(五):数据运算

    作者 | CDA数据分析师 进行到这一步就可以算是开始正式的烹饪了,在这部分之前的数据操作部分我们列举了一些不同维度的分析指标,这一章我们主要看看这些指标都是怎么计算出来的. 一.算术运算 算术运算就 ...

  8. @Select标签内的大于小于判断符号

    注解的代码中需要转义才能识别,不能直接写<,>等,参考如下:<= 小于等于 < 小于 > 大于 >= 大于等于 如果日期精确到秒时,格式需要这么写: <= T ...

  9. 【数据库】MySQL基本操作(基操~)

    一.登陆mysql 命令: mysql -uroot -p Enter password:Welcome to the MySQL monitor. Commands end with ; or \g ...

最新文章

  1. 2015计算机硕士考研非统考的学校,2015考研计算机专业统考非统考学校统计
  2. JavaScript学习笔记 - 入门篇(1)- 准备
  3. Windows 7 IIS (HTTP Error 500.21 - Internal Server Error)解决
  4. python迷宫小游戏代码_C++课程设计迷宫小游戏
  5. 3D物体识别的如果检验
  6. epoll和select的区别
  7. java swing 图片切换_在一个界面中要实现图片切换,用java要肿么实现??
  8. 一个进程能够打开最大文件句柄数设到多大才合适(Linux)
  9. 有效利用ASP.NET用户控件的事件委托
  10. MVVM架构~knockoutjs系列之扩展ajax验证~验证输入数据是否与后台数据相等
  11. CVPR 2022|群核前沿院等提出首个基于数据驱动的面检测算法
  12. AE怎么压缩导出视频体积大小?教程来了
  13. 带有vlan tag的报文与网卡的交互关系
  14. ubuntu 自带录屏功能
  15. gromacs ngmx_gromacs示例
  16. Python脚本调用谷歌浏览器的谷歌翻译
  17. 带你揭秘华为5G为何地表最强
  18. WMS仓储系统能给企业带来哪些帮助?
  19. CorelDRAW图片导出变色,如何解决?
  20. 企业级DevOps容器云平台流水线综合解决方案详解(一)

热门文章

  1. 群晖216j使用web station部署librespeed下载无速度的解决方法
  2. SSCoin交易开放时间及未来价值
  3. 【笨木头Lua专栏】基础补充07:协同程序初探
  4. zuk z2 Android7.0官方,联想ZUK Z2确定升级安卓7.0:官方曝光系统截图
  5. 已解决AttributeError: module ‘tkinter‘ has no attribute ‘TK
  6. python内置模块re_13.python内置模块之re模块
  7. Java设计模式系列之——模板方法模式
  8. Linux--Smba服务搭建
  9. 屏幕后期处理之:Sobel算子实现边缘检测
  10. 尚硅谷 网上书城 代码 Book