约束查询
##查询语句
1.排序查询
语法:order by 排序字段1 排序方式1,
排序方式:
ASC:升序,默认的
DESC:降序
如果有多个排序条件,优先前面的
2.聚合函数:将一列数据作为一个整体,进行纵向的计算 必须为非空值
1.count:计算个数
count(列)
2.max:计算最大值
Max(列)
3.min:计算最小值
Min(列)
4.sum:计算和
sum(列)
5.avg:计算平均值
avg(列)
3.分组查询
1.语法:group by 分组字段;
分组之后查询的字段:分组字段、聚合函数
group by 字段 having 条件
where 和 having的区别
where 在分组之前进行限定,不满足,不参与分组
having在分组后进行限定,不满足查不出来
where后不可以跟聚合函数,having可以使用进行判断
4.分页查询
1.语法:limit 开始的索引,每页查询的条数;
select * from xxx limit 0,3;
xxx表第0到第3条数据
公示:开始的索引=(当前的页码-1)*每页显示的条数
limit是mysql特有的
##约束:对表中的数据进行限定,保证数据的正确性、有效性和完整性
分类:1.主键约束:primary key
非空且唯一
一张表只能有一个字段作为主键,主键就是表中记录的唯一标识
创建主键: create table student(id int primary key)
删除主键:Alter table sutden drop Primary key;
自动增长:如果某一列是数值类型的,使用auto_inccrement可以完成值的自动增长
数据增长是根据上一条记录来加的
一般和主键连在一起用
2.非空约束:not null 某一列值不能为空
创建表时加约束create table xxx(name varcher(20) not null) --不为空
删除非空约束
alter table xxx modify name varccher(20)
-- 创表后加约束一样
3.唯一约束:unique
创建表加唯一约束 create table xxx(name varcher(20) unique)
删除唯一约束 alter table xxx drop index 列名
创表后加唯一约束
alter table xxx modify name varcher(20) unique
4.外键约束:foreign key
1.在创建表时,可以添加外键
:create table 表名( ....,constraint 外键名称 foreign key(本表要关联的字段)
references 主表名称(主表列名称))
或者 定义的时候加
删除外键
alter table xxx drop foreign key 外键名
添加外键 设置级联
添加级联操作:
(更新)在外键约束设置后面加 on update cascade
(删除)---------------------------- on delete cascade
复合主键
primary key();
数据库备份还原
1.命令行:
语法:
备份:mysqldump -u用户名 -p密码 >保存的路径
2.图形化工具