Mysql笔记

分类:

  1. DDL数据定义语言:操作数据库,操作表
  2. DML数据操作语言:对表中的记录操作增删改
  3. DQL数据查询语言:对表中的记录查询操作
  4. DCL数据控制语言:对用户权限的设置

 

查询所有列的记录:

select * form 表名

查询商品表里面所有的列

select * from product;

查询商品的名字和价格

select pname,price from product(表名);

查询商品名称和商品价格,商品价格通过别名‘价格’显示

select pname ,price as 价格 from product;

把商品名和商品价格+10查询出来

select pname,price+10 from product;

条件查询:

select ... fromwhere 条件
//取出表中的每一条数据,满足条件的记录就返回,不满足条件的记录就不返回

排序查询:

单列排序:

SELECT 字段名 FROM 表名 [WHERE 条件] ORDER BY 字段名 [ASC|DESC];  
//ASC: 升序,默认值; DESC: 降序

以分数降序查询所有的学生

select * from student order by scre desc

组合排序:

SELECT 字段名 FROM 表名 WHERE 字段=ORDER BY 字段名1 [ASC|DESC], 字段名2 [ASC|DESC];

以分数降序查询所有的学生,如果分数一致,再以age降序

select * from student order by score desc,age desc

聚合函数:

SELECT 聚合函数(列名) FROM 表名 [where 条件];
-- 求出学生表里面的最高分数
-- 求出学生表里面的最低分数
-- 求出学生表里面的分数的总和(忽略null值)
-- 求出学生表里面的平均分
-- 统计学生的总人数 (忽略null) 
select Max(score) from student;
select Min(score) from student;
select sum(score) from student;
select AVG(score) from student;
select COUNT(sid) FROM student;
select COUNT (*) FROM student;

需要注意的是:聚合函数会忽略null

 

分组查询:

GROUP BY语句对查询信息进行分组

SELECT 字段1,字段2... FROM 表名  [where 条件] GROUP BY[HAVING 条件];

根据性别分组,统计每一组学生的总人数

select sex,cout(*) from student GROUP BY sex;

根据性别分组,统计每一组学生的总人数>5的

select sex,cout(*) FROM student GROUP BY sex HAVING cout(*)>5
子名 作用
where子句 先过滤再分组,where后面不能使用聚合函数
having子句 先分组,再过滤,having后面可以使用聚合函数

分页查询:

select ... from ...limit 起始行数,查询的记录条数
 limit a,b;
a:从哪里开始查询,从0开始计数【a=(当前页码-1*b】
b:一页查询的数量【固定的,自定义的】

 

posted @ 2020-10-10 19:34  化蛹  阅读(136)  评论(0编辑  收藏  举报