1,dql:查询语句;
排序查询,聚合函数,分组查询,分页查询;
a,排序;
order by ,asc升序,desc降序;
select * from order by math desc, english asc;
2,聚合函数:会排除null值;选择不含null列,或者ifnull(x)
count,max, min, sum, avg;
count:
select count(ifnull(english, 1)) from student;
max:
select max(math) from student;
3,分组查询;group by 分组字段;
select avg(math) from student where math > 70 group by sex;
where在分组之前限定,如果不满足条件,则不参与分组;
having一般在分组之后进行限定,如果不满足结果就不会被查询出来;
where后不可以跟聚合函数,having后可以跟聚合函数;
4,分页查询
1,语法:limit开始索引,每页查询查询的条数;
select * from student limit 0, 3;
select * from studetn limit 3,3;
开始的索引式 = (当前页码-1)* 每页条数
5约束:
概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性;
1,主键约束,primary key;
2,非空约束:not null
3,唯一约束:unique;
4,外键约束:foreign key;
非空约束:
create table stu:删除和添加都可以使用modify
唯一约束:
删除唯一约束:
alter table stu drop index phoneNum;
添加位移约束
alter table stu modify phoneNum varchar(20) unique;
主键约束:非空且唯一;一张表只有一个主键;唯一标识;
创建表时添加主键;
create table stu(
id int primary key;
);
删除主键:alter table stu drop primary key;
添加主键:alter table stu modify id int primary key;
6,自动增长
auto_increment;
7,外键约束;
在创建表时添加外键;
create table xx(
.....
外键 constraint 外键名称 foreign key (xx表的外键列) references 要关联的表名(相对应 的列)
CONSTRAINT emp_dep_fk FOREIGN KEY (dep_id) REFERENCES department(id)
);
删除外键:
alter table employee drop foreign key emp_dep_fk;
添加外键:
alter table employee add constraint emp_dep_fk foreign key (dep_id) references department(id);
8, 级联操作
在添加外键的基础上最后添加on update cascade(级联更新)
on delete cascade (级联删除!!);
9,数据库的设计;
a,多表之间的关系:一对一,一对多,多对一,多对多;
b,
网友评论