设为首页 加入收藏

TOP

数据库知识学习之聚合函数,模糊查询,数据的完整性讲解
2018-03-22 08:49:30 】 浏览:120
Tags:数据库 知识 习之 聚合 函数 模糊 查询 数据 完整性 讲解

数据库知识学习之聚合函数,模糊查询,数据的完整性讲解

1.计算两个和,如果其中一个列里面的值有null值,
计算的结果将不计算,如果想计算我们可以过滤控制
把空值当做自己想要的值来计算
eg:sal+IFNULL(comm,0)  from emp;
2.order by (根据什么执行),升序--asc,降序--desc
eg:select * from emp ORDER BY sal DESC;
注:默认升序
3.聚合函数
sum--和 ,非数值为0
avg--平均数,非数值为0
max--最大数
min--最小数 
count--行数
1)count--计算行数
eg:select count(*) 行数 from emp; 
2)sum和avg---她们自动过滤空值
eg:SELECT SUM(sal) FROM emp;//查询总薪水
eg:SELECT AVG(sal) FROM emp;//查询薪水平均值
3)max 和min
select max(sal),min(sal) from emp;//查询薪水最大值和最小值
4.分组查询--group by + 字段名:
1)select deptno,sum(sal)from emp group by deptno;//查询每个部门的编号和每个部门的工资和
2)having 和 where区别
eg(where): 查询每个部门的部门编号以及每个部门工资大于1500的人数:
select deptno,count(sal) from emp where sal>1500 group by deptno;
eg(having):查询工资总和大于9000的部门编号以及工资和:
select deptno,sum(sal) from emp group by deptno having sum(sal)>9000;
总结:
where:后面不可以使用聚合函数,是对分组前记录的条件,如果某行记录没有满足WHERE子句的条件,那么这行记录不会参加分组
having:后面可以使用聚合函数--统计函数,是对分组后数据的约束
5.limt
用来限定查询结果的起始行和总行数的
eg:select * from emp LIMIT 0,3;
0:起始页   3代表该页显示几条记录
规律:(firstpag-1)*jilushu,jilushu
(页数-1)*每页显示的总记录数,记录数
6.模糊查询,通配符,关键字 like
%:代表 0--n个字符   _ 代表1个字符
eg:
SELECT * from emp where ename like 's%';
SELECT * from emp where ename like '%s%';
SELECT * from emp where ename like 's_';
SELECT * from emp where ename like 's__';
7.数据的完整性--保证用户输入的数据保存到数据库中是正确的
分类:实体完整性,域完整性,引用完整性
1)实体完整性
定义:就是表中一条记录代表一个实体-entity
作用:表示每个数据不重复
约束类型:主键约束--primary key,唯一约束--unique,自动增长列--auto_increment
a)主键约束-primary key
注:每个表中要有一个主键
特点:数据唯一,不能为空
三种添加方式:
方式一:
create table student (
    id int PRIMARY KEY,
    name varchar(100)
    ); 
方式二(好处:可以添加联合主键):
create table student2 (
    classid int,
    stuid int,
    name varchar(100),
    PRIMARY KEY(classid,stuid)
    );
方式三(添加约束)
create table student3 (
    id int,
    name varchar(100)
    );
alter table student3 add constraint primary key(id);

b)唯一约束-- unique 注:数据不能重复但是可以有空值
create table student4(
 id int unique ,
name varchar(100)
);
c)自动增长列-auto_increment
 create table student5(
 //给id添加自动增长标识
 id int primary key auto_increment ,
name varchar(100)
);

2)域完整性
作用:限制此单元格数据正确,不对照此列的其他单元格比较,域代表当前单元格
域完整性约束:非空约束-not null 默认值约束--defalut
a)非空约束
create table student6(
 id int not null
);
b)默认值约束
create table student7(
sex varchar(100) default('男')
);

3)引用完整性
引用完整性外键约束:foreign key(当前表的字段),references(主表里的字段)
两种添加外键方式
方式一:
create table score(
  sid int,
  score int,
 constraint fk_score_sid foreign key(sid) REFERENCES studen(sid)
);
方式二:
alter table score1 add constraint fk_stu_score foreign key(sid) references stu(sid);
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Oracle数据库如何创建自增序列? 下一篇postgreSQL表分区使用方法介绍

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目