关于MYSQL数据库一些语法
数据库基本语法
增加:insert into 数据表(字段1,字段2,字段3) values(‘值1’,‘值2’,‘值3’)
删除:delete from 数据表 where id=你要删除的数据id
修改:update 数据表 set 字段1=‘值1’,字段2=‘值2’,字段3=‘值3’ where id=你要修改的数据ID
查询:select(你要查询的字段,*代表全部字段) from 表名 where (你的查询条件)
常见聚合函数,max(最大)、min(最小)、sum(求和)、avg(平均)
拓展
//查询2020年9月份的数据
SELECT * FROM biz_purchase where purchase_date like’2020-09%’
//查询价格最低的 id
select id form 表 where 价格 = select min(价格) from 表)
//设置升序降序(ASC,DESC)
select 字段 from 表名 where 条件 order by 字段 降序desc/升序asc
//计算总数量
select sum(统计字段) from 表
//计算个数
select count(统计字段) from 表
//平均数
select avg(统计字段) from 表
//最高的 数据
select max(统计字段) from 表
//最低的 数据
select min(统计字段) from 表
SQL语句取最后/前100条数据
select top 100 * from 表名 order by 列名 降序desc/升序asc
//从第1条(不包括)数据开始取出2条数据,limit后面跟的是2条数据,offset后面是从第1条开始读取,即读取第2,3条
select * from table limit 2 offset 1;
//含义是跳过2条取出1条数据,limit后面是从第2条开始读,读取1条信息,即读取第3条数据
select * from table limit 2,1;
//左连接
select * from 表1 left join 表2 on 表1.id = 表2.id where 条件
//右连接
select * from 表1 right join 表2 on 表1.id = 表2.id where 条件
//内连接 交集
select * from 表1 inner join 表2 on 表1.id = 表2.id where 条件
//全连接 并集
select * from 表1 union join 表2 on 表1.id = 表2.id where 条件
1 分组查询 GROUP BY
查询每个部门的部门编号和每个部门的工资和:
SELECT deptno, SUM(sal) FROM 表 GROUP BY deptno;
查询每个部门的部门编号以及每个部门的人数:
SELECT deptno,COUNT(*) FROM emp GROUP BY deptno;
查询每个部门的部门编号以及每个部门工资大于1500的人数:
SELECT deptno,COUNT(*) FROM emp WHERE sal>1500 GROUP BY deptno;
2 HAVING 子句
查询工资总和大于9000的部门编号以及工资和:
SELECT deptno, SUM(sal) FROM emp GROUP BY deptno HAVING SUM(sal) > 9000;
注:having与where的区别:
1.having是在分组后对数据进行过滤.
where是在分组前对数据进行过滤
2.having后面可以使用分组函数(统计函数)
where后面不可以使用分组函数。
WHERE是对分组前记录的条件,如果某行记录没有满足WHERE子句的条件,那么这行记录不会参加分组;而HAVING是对分组后数据的约束。