大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说MySQL入门(6)—— 基于datagrip的SQL数据查询,希望您对编程的造诣更进一步.
MySQL入门(6)—— 基于datagrip的SQL数据查询
目录
一、准备工作1、数据准备2、执行界面准备3、数据修改准备
二、查询1、语法2、简单查询3、条数限制查询4、排序5、条件查询6、模糊查询7、正则表达式
一、准备工作
1、数据准备
将文件里的数据先复制到datagrip执行,建好表
学习本章节的数据资料
2、执行界面准备
如果你的执行界面不小心关闭成了这样
可以这样操作:
就可以打开你刚才执行的界面啦
3、数据修改准备
如果你没有记住修改表中数据的命令,那你可以直接在表中修改,修改结束以后点击绿色的上传图标即可,这就是图形化工具的好处
二、查询
1、语法
2、简单查询
以上面准备的数据为例子
3、条数限制查询
limit是MySQL特有的语法,其作用是用于限制查询结果的条数。格式:
不写m的时候,返回前n条数据。写m的时候,数据库会从 行m 开始,返回n条数据;
注意,MySQL中行号是从0开始的,也就是说第一条数据,是行0,而不是行1
(1)简单查询
(2)Limit 做分页
分页查询格式:
例如:
还有:
startRow的值如何计算呢?
– 后台计算出页码、页数(页大小)
– 分页需要的相关数据结果分析如下,
– 注意:下面是伪代码不用于执行
4、排序
关系数据库设计理论认为,如果不明确规定排序顺序,则不应该假定检索出的数据的顺序有意义。
也就是说,如果不对查询结果进行排序,数据库是不保证查询的结果是有序的。如何进行排序呢?
通过order by语句,可以将查询出的结果进行排序。格式:
(1)单列排序:查询商品表,并按价格进行递增、递减排序
(2)中文排序:查询商品表,并按商品名称进行排序 对中文进行排序 ,格式:
(3) 多列排序:如果想在多个列上进行降序排序,必须对每个列指定DESC关键字。
(4)用order by 和 limit 的组合找出最贵的三件商品名称
5、条件查询
比较运算符< 、>、<=、>=、= 、<>、!=小于、大于、小于等于、大于等于、不等于、不等于BETWEEN…AND…显示在某一区间的值(含头含尾)IN(set)显示在in列表中的值,例:in(100,200)LIKE ‘字符’模糊查询,like语句中,% 代表零个或多个任意字符,_ 代表一个字符, 例如:first_name like ‘_a%’;IS NULL判断是否为空逻辑运行符and多个条件同时成立or多个条件任一成立not不成立,例:WHERE vend_id NOT IN(1001,1002);
6、模糊查询
格式如下:(语句中,% 代表零个或多个任意字符,_ 代表一个字符)
例1:查询产品名称中 i 开头的产品名称
注意事项一:
MySQL默认是不区分大小写的,所以查询小写 i , 大写 I 也会被查询出来
如果想区分大小写有两种方式
第一种是修改表结构,字段后面加 binary 关键字,但修改表结构一般不推荐
第二种是在SQL语句中添加 BINARY 格式:
注意事项二:
% 可以匹配0到多个字符,但不能匹配 null
例2:查询产品名称中第二个字是‘王’的产品
注意事项:
通配符虽然好用,但不要滥用,尽量不要把%放在最前面,比如:where like ‘%王’。因为这也搜索效率会很慢,具体原因,进阶阶段再深入探讨。
7、正则表达式
正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
比如判断用户输入的邮箱格式是否合法,可以使用正则表达式。判断用户密码是否包含特殊字符,可以使用正则表达式。想从一个文本文件中提取电话号码,可以使用正则表达式。
如果你需要查找名字中间有数字的所有文件,可以使用一个正则表达式,格式:
(1)查询产品名称中包含“水”或者“40” 这两个字的产品名称 – 用 正则表达式 |
(2)查询产品名称中包好字母的产品名称
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://daima100.com/datagrip-ji-huo/8133.html