MySQL条件查询

一、查询格式

MySQL从数据表中查询数据的基本语句是SELECT语句,语法如下:

红色圈起来的是主语句,下面的为子语句。

需要注意各句子的位置,如果位置不对,数据库会执行不了命令而报错。

二、基础查询

语法1:SELECT * from 表名; (显示整个表)

语法2:select 字段名1,字段名2,字段名3,... from 表名;

(1)查询tbl_bookinfo表的所有图书信息:
                     select * from tbl_bookinfo;

运行结果如下:

已显示tbl_bookinfo表的全部信息

(2)只查询tbl_bookinfo表中的bookid,author,bookname部分图书信息:

SELECT bookid,author,bookname FROM tbl_bookinfo;

运行结果如下:

只显示bookid,author,bookname的信息。

三、改变列标题的显示(改别名)

语法:字段名 as 标题名 或 字段名 标题名

(1)将tbl_bookinfo表中的bookid改为索取号,ISBN改为标准编号,bookname改为书名:

    SELECT bookid AS 索取号,isbn AS 标准编号,bookname AS 书名 FROM tbl_bookinfo;

运行结果如下:

列标题已经改为索取号、标准编号以及书名。

 (2)或者

SELECT bookid 索取号,isbn 标准编号,bookname 书名 FROM tbl_bookinfo;

是一样的。

四、条件查询

1、比较条件的使用:

(1)查询tbl_bookinfo表中出版社为清华大学出版社的书名,作者,页数:

  SELECT bookname,author,pagecount,publisher FROM tbl_bookinfo WHERE publisher='清华大学出版社';

运行结果如下:

只显示了出版社是清华大学出版社的书的书名、作者和页数,还显示了出版社。

2、比较条件的组合使用:

(1)查询不是清华大学出版社的出版的图书:

SELECT * FROM tbl_bookinfo WHERE NOT publisher='清华大学出版社';

运行结果如下:

显示了不是清华大学出版社的图书信息。

(2)查询漓江出版社或者重庆大学出版社的图书信息:

SELECT * FROM tbl_bookinfo WHERE publisher='漓江出版社' OR publisher='重庆大学出版社';

运行结果如下:

(3)查询页数在200-400之间同时又是清华大学出版社的图书:

SELECT * FROM tbl_bookinfo WHERE pagecount>=200 AND pagecount<=400 AND publisher='清华大学出版社';
运行结果如下:

已显示出页数在200-400之间同时又是清华大学出版社的图书信息。

3、BETWEEN关键字

运算符事例
BETWEEN...AND...在指定的闭区间范围内
NOTBETWEE...AND...不在指定的闭区间范围内

一般用于数值和日期型数据

注意:between...and... 是包含边界的

(1)从tbl_bookinfo表中检索出1990年出版的图书信息:

SELECT * FROM tbl_bookinfo WHERE publishdate BETWEEN '1990-01-01' AND '1990-12-31';

运行结果如下:

已检索出检索出1990年出版的图书信息。

注意:关于查找年月日的信息时需要在日期上加英文''单引号。

4. IN()关键字

函数名描述
IN()在给定的集合内
NOT IN()不在给定的集合内

(1)从tbl_bookinfo表中检索出索取号为‘TB11/46’,‘TG/71’,‘TG38-62/12’的图书信息:

SELECT * FROM tbl_bookinfo WHERE bookid IN('TB11/46','TG/71','TG38-62/12');

运行结果如下:

已查询到题目给定的范围。

注意:在MySQL中所有的代码都要使用在英文状态下的字母和符号。

5、LIKE关键字

运算符示例
LIKE '匹配模式'获取匹配到的数据(用于模糊匹配)
NOT LIKE '匹配模式'获取匹配不到的数据

在LIKE关键字中常用的通配符有:

%----------------------代表任意字符

_(下划线)--------代表一个任意字符

(1)从tbl_user表在检索出姓“李”的读者信息:

SELECT * FROM tbl_user WHERE username LIKE '李%';

注意:字段名是写在LIKE关键字的前面哦。

运行结果如下:

已检索到姓李的同学的信息。

(2)从tbl_user表中检索出名字第二个字是“国”或者“云”的同学的信息:

SELECT * FROM tbl_user WHERE username LIKE '_国%' OR username LIKE '_云%';

注意:在增加了一个新条件的时候要重新输入字段名,不可省略。

运行结果如下:

检索到了名字第二个字是“国”或者“云”的同学的信息。

(3)从tbl_user表中检索出名字中不包含“明”字的学生信息:

SELECT * FROM tbl_user WHERE username NOT LIKE '%明%';

运行结果如下:

检索到了名字中不包含“明”字的同学。

6、IS NULL关键字

运算符示例
IS NULL比较一个数据是否为NULL
IS NOT NULL比较一个数据是否不为NULL

(1)从tbl_user表中检索出Ema为空的读者信息:

SELECT * FROM tbl_user WHERE Email IS NULL;

运行结果如下:

检索到了Email为NULL的同学的信息。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值