数据库温习

四大操作语句-增删改查

1.增 INSERT

INSERT INTO 表 (字段列表) VALUES(值列表)

2.删 DELETE
DELETE FROM 表 WHERE 条件
3.改 UPDATE
UPDATE 表 SET 字段=值,字段=值,... WHERE 条件
4.查 SELECT

SELECT * FROM 表 WHERE 条件

WHERE子句

用我自己的话来描述where子句就是限制一个范围来执行

例:

*名字规定为Btrya的

WHERE name='Btrya'

*大于十八岁的

WHERE age>18

*小于等于十八岁的

WHERE age<=18

*成年了还考试不及格的

WHERE age>=18 AND score<60

*余额超过100块的或者积分超过一万的

WHERE cach>100 OR score>10000

ORDER子句

用我自己的话来说这就是用来根据需求排序用的

升序和降序(ORDER BY age ASC/DESC)
  ASC-升序(从小到大)
  DESC-降序(从大到小)

例:

*根据价格升序

ORDER BY price ASC

*价格(price)升序排序,如果价格相同,再按销量(sales)降序排序

ORDER BY price ASC, sales DESC   

(注意中间逗号分隔,表示按前面语句排序了再按后面语句排)

GROUP子句

这个叫做聚类,不是很好记,可以理解成 合并同类

假设现在有下面这个表,表名是 student_table

我们现在要做的就是统计每个班有多少人

SELECT * FROM student_table;

IDclassname
11小明
22小红
3   1小刚
42小华
53小强
63小四
71小刘
81小花

SELECT * FROM student_table GROUP BY class;(没多大意义)

IDclassname
11小明
22小红
33小强

这样的查询意义不大,因为只是把重复班级做了一个去重的处理,并不是我们想要的结

SELECT class FROM student_table GROUP BY class;(意义更不大)

class   
1
2
3

我们在SELECT后增加了class,出来的结果只是有几个班级,不是我们要的结果

SELECT class,COUNT(class) FROM student_table GROUP BY class;

classCOUNT(class)
14
22
32

这就是我们要的结果了,利用COUNT对class进行计数,即统计每个class出现了几次,就是我们要的结果

像COUNT这样自带的函数总结如下:

1.AVG( ) 统计平均值

2.COUNT( ) 计数

3.MAX( ) 取最大值

4.MIN( ) 取最小值

5.SUM( ) 求和


我们来用一用这些函数

还是之前的表,增加一列score分数列

SELECT * FROM student_table;

IDclassnamescore
11小明34
22小红98
31小刚26
42小华99
53小强18
63小四95
71小刘57
81小花100

*统计一下各个班级的平均分

SELECT class,AVG(score) FROM student_table GROUP BY class;

classAVG(score)
154.25
298.5
356.5

*统计每个班的最高分和最低

SELECT class,MAX(score),MIN(score) FROM student_table GROUP BY class;

classMAX(score)MIN(score)
110026
29998
39518

再举个例子

这有一张关于消费信息的表 sales_table

SELECT * FROM sales_table;

IDnameprice
1王五3
2王五5
3张三28000
4李四81000
5王五4
6张三46000
7李四38000
8赵六18
*查看每个人 消费了多少

SELECT name,SUM(price) FROM sales_table GROUP BY name;

nameSUM(price)
王五12
张三74000
李四119000
赵六18
*降序弄一个土豪排行榜
SELECT name,SUM(price) FROM sales_table GROUP BY name ORDER BY SUM(price) DESC;

nameSUM(price)
李四119000
张三74000
赵六18
王五12

函数总结over


LIMIT子句

这个子句主要用来限制输出,可以用来实现分页

语法:

LIMIT 10;   前10条

LIMIT 5,8;   从5开始,要8个

例如分页,每页20条数据:

第1页 0,20 0~19
第2页 20,20 20~39
第3页 40,20

第n页 (n-1)*20,20


各个子句的使用顺序(这是重点好吗)

子句之间是有顺序的:

WHERE  GROUP  ORDER  LIMIT

筛选       合并       排序      限制


完整语句如下使用:(换行让你看的更清楚)

SELECT class,COUNT(class) FROM student_table
WHERE score>60
GROUP BY class
ORDER BY COUNT(class) DESC
LIMIT 2;


如果不按这个顺序会报错!!

为啥报错把顺序颠倒一下你就知道多不合理了。

所以请严格按照这个顺序使用子句!!!









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值