系列文章目录
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学习统计函数和其他函数的使用.