Mysql ---- SQL语句学习笔记一

2021-09-07 16:34:16 浏览数 (1)

增 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

0 人点赞