MySQL学习使用[9天系列 学习笔记 Day04]

本文介绍了如何在MySQL中使用LIKE和REGEXP进行模糊查询,包括出版社首字符、第二个字符匹配,以及图书编号和表号的特殊字符搜索。同时,学习了结果排序和行数限制的方法,通过实例演示了如何在SQL查询中实现这些功能。
摘要由CSDN通过智能技术生成

系列文章目录

MySQL学习使用[9天系列 学习笔记]
Day01了解和创建数据库
(附上链接Day01:
https://blog.csdn.net/besthtml/article/details/128055581?
Day02创建、查看和删除表
https://blog.csdn.net/besthtml/article/details/128066352?
Day03更新数据和简单查询
https://blog.csdn.net/besthtml/article/details/128069269?
Day04模糊查询、结果排序和限制输出行
https://blog.csdn.net/besthtml/article/details/128085013?
Day05统计函数和其他函数的使用
https://blog.csdn.net/besthtml/article/details/128086178?
Day06分组统计和限制分组输出
https://blog.csdn.net/besthtml/article/details/128092918
Day07嵌套查询和连接查询
https://blog.csdn.net/besthtml/article/details/128099111
Day08视图、索引、备份和恢复
https://blog.csdn.net/besthtml/article/details/128108602?
Day09事务
https://blog.csdn.net/besthtml/article/details/128115542?


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

通过Day01了解数据库的创建,Day02了解了创建、查看和删除表,Day03了解了更新数据和简单查询,现在在巩固简单查询的基础上,学会使用like和regexp(或rlike)进行模糊数据查询,自定义查询结果的列别名,会在SQL数据查询语句中使用order by子句对结果排序,在SQL数据查询语句中使用limit子句限制输出行。
Day01传送门https://blog.csdn.net/besthtml/article/details/128055581
Day02传送门https://blog.csdn.net/besthtml/article/details/128066352?
Day03传送门https://blog.csdn.net/besthtml/article/details/128069269?


提示:以下是本篇文章正文内容,下面案例可供参考

模糊查询、结果排序和限制输出行

模糊查询:

在有些数据查询中,条件不明确,比如姓名“姓张”,或者年龄是20或20多岁,或者日期是2020年4月的某一天。这种情况需要模糊查询。这时用带like或regexp或relike关键字的模糊查询。

like关键字通配符
"%"匹配任意个字符
"_“只匹配一个字符(若找下划线,前面加个斜杆 " \_”)

regexp和relike用法相同。在进行字符串匹配时,也会用到一些特殊字符,这里介绍几个。
^ 放在匹配字符串的首部
$ 放在匹配字符串的尾部
. 匹配一个字符,相当于like表达式中的_
[] 匹配中括号内的范围
举例:
regexp ‘^.a’匹配第二个字符为a的字符串
regexp ‘^【 a-f 】’匹配以abcdef字符中一个字符开头的字符串
regexp ‘^.[mn]’匹配第二个字符为m或n的字符串

regexp ‘[fy]$’匹配以f或y结尾的字符串

regexp ‘fy$’匹配以fy结尾的字符串

通过我们Day02建的library数据库来进行操作.

一、模糊查询

1.查询book表中出版社首字符为清华的出版社的图书信息。

select * from book where pubcomp like '清华%';

2.查询book表中出版社的第二个字符为华的出版社的图书信息。

select * from book where pubcomp like '_华%';

3.查询book表中出版社首字符不为清华的出版社的图书信息。

select * from book where pubcomp not like’清华%’;

4.查询book表中图书编号中包含7的图书信息。

select * from book where bid like ‘%7%’;

5.查询book表中图书表号包含_(下划线)的课程信息。

select * from book where bid like'%\_%’;

或者

select * from book where bid like'%*_%' escape '*';

其中’\’是转义字符,其后的字符不再是通配符,而变成了普通字符。使用escape标注的符号也是转义字符。

6.列别名

as关键字
查询book表中图书编号为001的价格,要求结果为中文价格显示。
SELECT bid,price AS 价格 FROM  book WHERE bid= ' 001’;(as 课省略)

二、结果排序

在应用中经常要对查询的结果排序输出,例如学生成绩由高到低排序。在SELECT语句中,使用ORDER BY子句对查询结果进行排序,若两个字段进行排序,先按第一列排序,第一列值相同的再按第二列排序。(asc升序[默认],desc降序)
例 将图书信息按价格由高到低输出

SELECT  * FROM  book ORDER BY price desc;

三、限制输出行

前面我们学过的查询,所有满足条件的数据行都输出,但有时只需要期中一部分(指定位置指定行数),需要限制结果集的输出。用到的子句: limit [位置偏移量,] 行数
例 查询图书信息价格前三位的图书名称。

SELECT bname FROM  book ORDER BY price desc Limit 3;

这里的3是行数,默认从中间结果集中的第一行开始


总结

通过Day04学会使用like和regexp(或rlike)进行模糊数据查询,自定义查询结果的列别名,会在SQL数据查询语句中使用order by子句对结果排序,在SQL数据查询语句中使用limit子句限制输出行。今天笔记就到这里,Day05学习统计函数和其他函数的使用.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值