5.MySQL基本查询(一)+https://developer.aliyun.com/article/1393866
不够优雅,换种方式
姓纯的同学 及 纯某同学
-- % 匹配任意多个(包括 0 个)任意字符
-- _ 匹配严格的一个任意字符
语文成绩好于英语成绩的同学
总分在 200 分以下的同学
这里有个先后顺序,先筛选总分小于200,才起别名输出,而不是先起别名输出,后筛选。
语文成绩 > 80 并且不姓孙的同学
纯某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80
结果排序
语法:
-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC
SELECT ... FROM table_name [WHERE ...]
ORDER BY column [ASC|DESC], [...];
同学及数学成绩,按数学成绩升序显示
降序
查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示
查询同学及总分,由高到低
这里举个例子
这里会有人问,order by后面为什么可以用别名,where后面不可以,这里先后顺序为
- from
- where
- select
- order by
取别名在第三步,第四步当然可以使用别名。
查询姓纯的同学或者姓叶的同学数学成绩,结果按数学成绩由高到低显示
筛选分页结果
语法:
-- 起始下标为 0
-- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;
按 id 进行分页,每页 3 条记录,分别显示 第 1、2、3 页
更明确的写法。
Update
语法:
UPDATE table_name SET column = expr [, column = expr ...]
[WHERE ...] [ORDER BY ...] [LIMIT ...]
对查询到的结果进行列值更新
案例:
将佩奇同学的数学成绩变更为 80 分
将纯纯傻屌同学的数学成绩变更为 60 分,语文成绩变更为 70 分
将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
NULL不参与计算
将所有同学的语文成绩更新为原来的 2 倍
删除数据
语法:
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
删除单行
删除纯纯傻屌同学的考试成绩
也可以删多行,没加标题,汗-_-||
5.MySQL基本查询(三)+https://developer.aliyun.com/article/1393871