DQL:查询语句 约束
1.DQL:查询语句
1.排序查询
*语法:order by 子句
*order by 排序字段1 排序方式1,排序字段2,排序方式2...
*排序方式:
*ASC:升序
*DESC:降序
*注意:
*如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件
2.聚合查询:将一列数据作为一个整体,进行纵向的计算
1.count:计算个数
1.一般选择非空的列;主键
2.count(*)
2.max:计算最大值 select max(math) from student;
3.min:计算最小值
4.sun:计算和
5.avg:计算平均值
*注意;聚合函数的计算,排除null值
解决方案:
1.选择不包含非空的列进行计算
2.ifunll函数
3.分组查询
1.语法:group by 分组字段
2.注意:
1.分组之后查询的字段:分组字段。聚合函数
2.where和having 的区别?
1.where 在分组之后进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2.where后不可以跟聚合函数,having 可以进行聚合函数的判断
4.分页查询
1.语法:limit 开始的索引,每页查询的条数;
2.公式:开始的索引 = (当前的页码 - 1 ) * 每页显示的条数
--每页显示三条记录
select * from student limit 0,3; --第一页
select * from student limit 3,3; --第二页
select * from student limit 6,3; --第三页
3.limit是一个“方言”
2.约束
*概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性。
*分类:
1.主键约束:primary key
2.非空约束:not null
3.唯一约束:nuique
4.外键约束:foreign key
*非空约束:not full
1.创建表是添加约束
create table stu(
id int,
name varchar(20)not null --name为非空
);
2.创建表完后,添加非空约束
alter table stu modify name varchar(20) not null;
3.删除name的非空约束
alter table stu modify name varchar(20);
*唯一约束:unique ,值不能重复
1.创建表时,添加唯一约束
create table stu(
id int,
phone_number varchar(20) unique --添加了唯一约束
);
*注意:在mysql中,唯一约束限定的列的值可以有多个null
2.删除唯一约束
alter table stu drop index phone _number;
3.在创建表后,添加唯一约束
alter table stu modify phone_number varchar(20) unique;
*主键约束:primary key
1.注意:
1.含义:非空并唯一
2.一张表只能有一个字段为主键
3.主键就是记录的唯一标识
2.在创建表时,添加主键约束
create table stu(
id int primary key,--给id添加主键约束
name varchar(20)
);
3.删除主键
错误形式 alter table stu modify id int;
正确 alter table stu drop primary key;
4.创建完表之后,添加主键
alter table stu modify id int primary key;
5.自动增长:
1.概念:如果某一列是数值型的,使用auto_increment 可以来完成值得自动增长
2.在创建表时,添加主键约束,并且完成主键自动增长
create table stu(
create table stu(
id int primary key auto_increment, --给Id添加主键约束
name varchar(20)
);
3.删除自动增长
alter table stu modify id int;
4.添加自动增长
alter table stu modify id int auto_increment,;
*外键约束:foreign key,让表与表产生关系,从而保证数据的正确性
1.在创建表时,可以添加外键
*语法:
create table 表名(
....
外键列
costraint 外键名称 foreign key (外键列名称) rferences 主表名称 (主表列名称)
);
1.排序查询
*语法:order by 子句
*order by 排序字段1 排序方式1,排序字段2,排序方式2...
*排序方式:
*ASC:升序
*DESC:降序
*注意:
*如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件
2.聚合查询:将一列数据作为一个整体,进行纵向的计算
1.count:计算个数
1.一般选择非空的列;主键
2.count(*)
2.max:计算最大值 select max(math) from student;
3.min:计算最小值
4.sun:计算和
5.avg:计算平均值
*注意;聚合函数的计算,排除null值
解决方案:
1.选择不包含非空的列进行计算
2.ifunll函数
3.分组查询
1.语法:group by 分组字段
2.注意:
1.分组之后查询的字段:分组字段。聚合函数
2.where和having 的区别?
1.where 在分组之后进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2.where后不可以跟聚合函数,having 可以进行聚合函数的判断
4.分页查询
1.语法:limit 开始的索引,每页查询的条数;
2.公式:开始的索引 = (当前的页码 - 1 ) * 每页显示的条数
--每页显示三条记录
select * from student limit 0,3; --第一页
select * from student limit 3,3; --第二页
select * from student limit 6,3; --第三页
3.limit是一个“方言”
2.约束
*概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性。
*分类:
1.主键约束:primary key
2.非空约束:not null
3.唯一约束:nuique
4.外键约束:foreign key
*非空约束:not full
1.创建表是添加约束
create table stu(
id int,
name varchar(20)not null --name为非空
);
2.创建表完后,添加非空约束
alter table stu modify name varchar(20) not null;
3.删除name的非空约束
alter table stu modify name varchar(20);
*唯一约束:unique ,值不能重复
1.创建表时,添加唯一约束
create table stu(
id int,
phone_number varchar(20) unique --添加了唯一约束
);
*注意:在mysql中,唯一约束限定的列的值可以有多个null
2.删除唯一约束
alter table stu drop index phone _number;
3.在创建表后,添加唯一约束
alter table stu modify phone_number varchar(20) unique;
*主键约束:primary key
1.注意:
1.含义:非空并唯一
2.一张表只能有一个字段为主键
3.主键就是记录的唯一标识
2.在创建表时,添加主键约束
create table stu(
id int primary key,--给id添加主键约束
name varchar(20)
);
3.删除主键
错误形式 alter table stu modify id int;
正确 alter table stu drop primary key;
4.创建完表之后,添加主键
alter table stu modify id int primary key;
5.自动增长:
1.概念:如果某一列是数值型的,使用auto_increment 可以来完成值得自动增长
2.在创建表时,添加主键约束,并且完成主键自动增长
create table stu(
create table stu(
id int primary key auto_increment, --给Id添加主键约束
name varchar(20)
);
3.删除自动增长
alter table stu modify id int;
4.添加自动增长
alter table stu modify id int auto_increment,;
*外键约束:foreign key,让表与表产生关系,从而保证数据的正确性
1.在创建表时,可以添加外键
*语法:
create table 表名(
....
外键列
costraint 外键名称 foreign key (外键列名称) rferences 主表名称 (主表列名称)
);
2.删除外键
alter table 表名 drop foreign key 外键名称 ;
3.创建表之后,添加外键
alter table 表名 adda costraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称);
alter table 表名 drop foreign key 外键名称 ;
3.创建表之后,添加外键
alter table 表名 adda costraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称);
4.级联操作
1.添加级联操作
语法:alter table 表名 add costraint 外键名称
foreign key (外键字段名称) references 主表名称(主表列名称) on update cascade on delete cascade;
2.分类:
1.级联更新:on update cascade
2.级联删除:on delete cascade
1.添加级联操作
语法:alter table 表名 add costraint 外键名称
foreign key (外键字段名称) references 主表名称(主表列名称) on update cascade on delete cascade;
2.分类:
1.级联更新:on update cascade
2.级联删除:on delete cascade

浙公网安备 33010602011771号