在学校学数据库有些囫囵吞枣从,学的很不精进,只知道一些基础的增删改查语句,多表联系的我还不懂,因此我打算重新学习,下面将我每天做的笔记一点一点发出。
DDL
约束
DML数据库操作
有一个函数now(),此函数是获取系统当前时间的。
insert into emp (username,password,creat_time,update_time) values ('wujing','123456',now(),now());
DQL查询操作
语法
select
字段列表
from
表名列表
where
条件列表
group by
分组字段列表
having
分组后条件列表
order by
排序字段列表
limit
分页参数
基本查询
条件查询的逻辑运算符
查询姓名为两个字的员工
select * from emp where name like '__';//两个占位符
查询姓郭的员工
select * from emp where name like '张%';
分组查询
聚合函数 不对null值进行运算
介绍:将一列数据作为一个整体,进行纵向计算
语法:
select 聚合函数(字段列表) from 表名;
函数:
函数 | 功能 |
---|---|
count | 统计数量 |
最大值 | |
min | 最小值 |
平均值 | |
sum | 求和 |
分组查询返回的是分组字段和聚合函数
1.根据性别分组,统计男生女生数量--count(*)
select gender,count(*) from emp group by gender;
2.先查询入职时间在‘2015-01-01’以前的员工,并对结果进行职位分组,获取员工数量大于2的职位
select job,count(*) from emp where entrydata <= '2015-01-01'
group by job
having count(*) >=2;
排序查询
oeder by 字段1 排序方式,字段二 排序方式……
方式:ASC 升序(默认值)
DESC 降序
分页查询
limit 起始索引,查询记录数
例子
//查询第一页数据 5条
select * from emp limit 0,5;
//查询第二页数据 5条
select * from emp limit 5,5;
起始索引=(页码-1)*每页展示记录数
as 别名 中as可以省略,进行起别名的操作