一、ORDER BY 排序
排序方式
1.升序:ASC(默认就是升序)
2.降序:DESC
3.如果有多个排序条件,前面的值一样时才会判断第二条件
--按照数学成绩排序
select*from Student ORDER BY math
--按照数学成绩排序,如果数学成绩一样,按照英语成绩排序
select*from student order by math ASC,english ASC
二、 聚合函数
将一列数据作为整体作为一个总计,进行纵向计算,聚合函数排除NULL值统计的都是非空的列,选主键统计,建表的时候习惯加的序号列,就可以作为主键统计个数
1、count:计算个数
select count(name) from student
selsect count (ifnull(name,0)) from student
如果这个值是null 替换成0
2、max:计算最大值
select max(math) from student
3、min:计算最小值
select min(math) from student
4、sub ;求和
select sub(math) from student
5、avg:计算平均值
select avg(math) from student
三、分组查询
1.语法 group by
2.分组之后查询的字段:分组的字段、或者聚合函数
3.where和having 的区别:
(1)where在分组之前进行限定,如果不满足where不参与分组,having在分组之后进行限定,不满足结果不会被查询出来
(2)where 后不跟聚合函数的判断 having 后跟聚合函数的判断
--按照性别查询 分别查询男 女平均分
select*from Student GROUP BY sex
select sex,AVG(math),count(ID),from Student GROUP BY sex
--分数低于70分不参与分组,
select sex,AVG(math),count(ID),from Student where math>70 GROUP BY sex having count(ID)>2
四、分页查询limt
1.语法:limt :开始的索引=(当前的页码-1)*每页的条数、每页的条数
--每页三条记录
select *from student limt 0,3--第一页
select *from student limt 3,3-第二页,第一个3代表第4条记录开始的索引
五、约束
对表中数据起作用,保证数据正确性、有效性、完整性
1.主键约束: PRIMARY key
2.非空约束: not NULL
3.唯一约束:UNIQUE
4.外键约束: FOREIGN KEY
1 、非空约束
--在创建表时添加非空约束
create table stu (modify name vachar(20) not NULL)
--删除NAME的非空约束
alter table stu modify name vachar(20)
2、唯一约束:某一列的值不能重复,唯一约束可以有NULL值但,只能有一条NULL
--在创建表时添加唯一约束
create table stu (modify name vachar(20) unique)
--删除NAME的唯一约束
alter table stu modify name vachar(20)
3、主键约束:primary key 非空且唯一 ,一张表只能有一个字段为主键,主键就是表中记录的唯一标识
--创建表时添加主键约束
create table stu(
id int PRIMARY KEY,
name VARCHAR(20)
);
--删除主键
ALTER TABLE table_name DROP PRIMARY KEY;
--创建完表后添加主键
alter table stu modify id int PRIMARY KEY;
4、自动增长:如果某一列是数值类型的,使用auto_increment,可以来完成值的自动增长
id int PRIMARY KEY auto_increment,
5、外键约束:foreign key 创建表时添加外键,让表与表产生关系 保证数据的正确性
create table stu(
constraint 外键名称 foreign key 外键列;
);
例:
constraint emp_dept_fk foreign key (dept_id) REFERENCES department(id);
--department(id)是父行,不能添加记录或删除
--删除外键table employee drop foreign key emp_dept_fk
--添加外键
table employee add constraint emp_dept_fk foreign key (dept_id) REFERENCES department(id);
6、级联操作:添加外键 设置级联更新 设置级联删除
1、级联更新:on UPDATE cascady;
2、级联删除:on DELETE cascady;
table employee add constraint emp_dept_fk foreign key (dept_id) REFERENCES department(id) on UPDATE cascady;
update employee set id=null WHERE id=1;