排序
order by子句:
ASC升序 ,DESC降序。
例如:select * from student order by age desc;
聚合函数
max(列名) :求这一列的最大值
min(列名) :求这一列的最小值
avg(列名) :求这一列的平均值
count(列名) :统计这一列有多少条记录
sum(列名) :对这一列求总和
查询学生总数
select count(*) as 总人数 from student;
IFNULL(列名,默认值) :如果列名不为空,返回这列的值。如果为 NULL,则返回默认值。
例如:select count(ifnull(id,0)) from student;
分组: SELECT 字段 1,字段 2… FROM 表名 GROUP BY 分组字段 [HAVING 条件];
查询年龄大于 25 岁的人,按性别分组,统计每组的人数,并只显示性别人数大于 2 的数据
SELECT sex, COUNT() FROM student3 WHERE age > 25 GROUP BY sex having COUNT() >2;
having和where区别:
where 子句 :
- 先过滤 再分组。
- where 后面不可以使用聚合函数
having 子句:
- 先分组再过滤。
- having 后面可以使用聚合函数
limit:
查询学生表中数据,从第3条开始显示,显示6条。:
select * from student3 limit 2,6;
备份与还原:
备份:
DOS下,未登录的时候,备份day21数据库中的数据到d:\day21.sql文件中:
mysqldump -uroot -proot day21 > d:/day21.sql
还原:
use day21;
source d:/day21.sql;
约束:
- 主键约束:
主键关键字: primary key
删除主键:
删除st5表的主键: alter table st5 drop primary key;
自增:AUTO_INCREMENT
自增长只能用在主键上
- 唯一约束:UNIQUE
- 非空约束: NOT NULL
- 外键约束 :[CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名)
– 创建外键约束 : constraint emp_depid_fk foreign key (dep_id) references department(id)
级联(用在外键约束上):
级联更新:ON UPDATE CASCADE
级联删除 : ON DELETE CASCADE
– 创建外键约束 constraint emp_depid_fk foreign key (dep_id) references department(id) on update cascade on delete cascade