增 insert
删 delete
改 update
查 select
4.1 select 完整语句
select xxx from xxx where xxx group by xxx having xxx order by xxx limit xxx; select 输出 from 获取数据 where 过滤条件 group by 分组 having 过滤 order by 排序 limit 限制个数;
4.2 select 执行顺序
4.2.1 FROM 获取数据
获取对应表格的全部数据! JOIN…
4.2.2 WHERE 按条件过滤数据
将获取数据根据 where 条件过滤! AND , OR , != , … 符合条件的数据留下,不符合条件的数据丢弃!
4.2.3 GROUP BY 对数据进行分组
对获取的数据根据分组条件进行分组! GROUP BY id 按照 id 进行分组! 分组后,如果遇到 select ,那么输出的是每一组数据的第一行数据!
4.2.4 SELECT 输出需要的字段
输出查询条件完成需要的字段!
4.2.5 HAVING 过滤
对查询结果进行再次过滤!
4.2.6 ORDER BY 数据排序
对查询结果进行排序!
4.2.7 LIMIT 限制数据个数
限制查询结果的输出条数!
4.3 select count
4.3.1 count(1) 和 count(id)的区别
如果 id 中有 null 值,那么 count 不记录 null !其他情况二者一致!
4.3.2 count(distinct id) 和 count(distinct 1)
distinct 不重复计数!
4.3.3 count(1)
计数表格!
4.3.4 count(id)
去 null 计数!
4.3.5 count(distinct id)
去 null 的不重复计数!
4.4 聚集函数
4.5.1 count 计数 4.5.2 sum 求和 4.5.3 max 最大值 4.5.4 min 最小值 4.5.5 avg 平均值 4.5.6 group_concat 字符串
创建数据库
CREATE DATABASE stud use stud
创建表
CREATE TABLE stu(id INT PRIMARY KEY,name CHAR(10),classid INT) DEFAULT CHARSET=utf8mb4
插入数据
INSERT INTO stu(id,name,classid)VALUES(1,‘A’,10),(2,‘B’,10),(3,‘C’,10),(4,‘D’,15),(5,‘E’,15),(6,‘F’,15),(7,‘C’,15),(8,‘Z’,15),(9,‘F’,15)
清空表数据(保留表结构)
TRUNCATE TABLE stu 等同 TRUNCATE stu