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

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

SELECT * FROM book;

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

现在我们使用上一节中使用的 INSERT 字段插入如下数据,查看得到如下结果:
MySQL 基操教程(五) SELECT 数据查看之大于、小于_第1张图片
但是 * 这个字符我们一般不常使用,需要查看什么字段内容,就 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';

可以得到如下结果:
MySQL 基操教程(五) SELECT 数据查看之大于、小于_第2张图片
虽然我们搜索的条件是小写的,但是返回的结果是大写的,默认不区分大小写就是这个意思。

注意2:BETWEEN 的使用

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

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

MySQL 基操教程(五) SELECT 数据查看之大于、小于_第3张图片其中,数值之间用 AND 连接,而且我们可以看到 使用 BETWEEN 是包含了两个边界值的,那么这条语句也就等同如下:

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

MySQL 基操教程(五) SELECT 数据查看之大于、小于_第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 的值,查看数据 :
MySQL 基操教程(五) SELECT 数据查看之大于、小于_第5张图片现在,我们要查看表中所有 author 为 NULL 的值呢,可以使用如下语句:

SELECT * FROM book WHERE author IS NULL;

MySQL 基操教程(五) SELECT 数据查看之大于、小于_第6张图片就可以得到结果,如果是挑选数值不是 NULL 的数据呢,前面加个 NOT,这个我们后一节会提到的。

SELECT * FROM book WHERE author IS NOT NULL;

你可能感兴趣的:(mysql,MySQL,基础教程,where,NULL,!=)