本篇碎碎念:要相信啊,胜利就在前方,要是因为一点小事就停滞不前,可能你也不适合获取胜利,成功的路上会伴有泥石,但是走到最后,你会发现身上的泥泞皆是荣耀的勋章!
今日份励志文案: 凡是发生皆有利于我
目录
查询(select)
1.全列查询
2.指定列查询
3.查询字段为表达式
编辑
4.别名
5去重 distinct
6.排序 order by
7.条件查询
8.分页查询
起始下标都为0
上一条博客创建的成绩表,这条博客将用它作为演示案例
查询(select)
ps:有什么背单词的好办法吗~~~QAQ,单词背的太困难,总拼成slect
1.全列查询
select * from 表名;
查询这个表的所有行和所有列 , * 表示通配符;通常情况下不建议使用,查询的列越多,意为着传输的数据量越大;可能会影响到索引的使用(后续博客会介绍)
2.指定列查询
select 列名,列名... from 表名;
这是查询这个表中所有的名字,孙行者,孙膑,猢孙是我后添加的!!
如果想查 id 和 name,可以写成 select id,name from student;(我创建的表名叫student)
以此类推,可以查询自己想要的内容;
3.查询字段为表达式
下面黄框里面就是表达式与非表达式
表达式查询不会影响存储的数据本体,只是针对服务器响应得到的临时结果进行了计算,此处计算出的结果只是返回给客户端,显示在客户端界面上,不会保存在服务器的硬盘中
MySQL是一个"客户端-服务器"结构的程序
4.别名
select 列名,列名+列名,... as 列名(新) from 表名;
也可以单独查询一个列名,其中as 可以省略
select name 姓名 from student;
5去重 distinct
针对查询结果进行去重,存在重复数据,就会把重复的行合并成为一行
select distinct 列名 from 表名;
把重复的70去除了
6.排序 order by
1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面
3. 使用表达式及别名排序
4.可以对多个字段进行排序,排序优先级随书写顺序
把Chinese+math的别名设置为total
然后按照Chinese的大小比较如果Chinese相同,再按照math的大小比较
7.条件查询
运算符 | 说明 |
>,>=,<,<= | 大于,大于等于,小于,小于等于 |
= | 等于,null不安全,例如 NULL = NULL 的结果是 NULL |
<=> | 等于,null安全,例如 NULL <=> NULL 的结果是 TRUE(1) |
!=,<> | 不等于 |
between a0 and a1 | 范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1) |
in |
如果是
option
中的任意一个,返回
TRUE(1)
|
is null |
是
NULL
|
is not null |
不是
NULL
|
like |
模糊匹配。
%
表示任意多个(包括
0
个)任意字符;
_
表示任意一个字
符
|
运算符 | 说明 |
and |
多个条件必须都为
TRUE(1)
,结果才是
TRUE(1)
|
or |
任意一个条件为
TRUE(1),
结果为
TRUE(1)
|
not |
条件为
TRUE(1)
,结果为
FALSE(0)
|
1. WHERE条件可以使用表达式,但不能使用别名。
2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分
下面是代码展示
以下是like的用法
8.分页查询
起始下标都为0
select *from 表名 limit 数字;
从0开始筛3条结果
linit 2 iffset 3 从2开始筛选3条结果
limit 1,3 表示从1开始筛选3条结果
如果有解释的不对或者不清晰,如果可以从评论区指出,我一定会加以修改,万分感谢
希望对你们有所帮助,之前的链表练习题会陆续更新~