1.过滤空值 ifnull(comm,0)
如果是空值就取0
2. 升序(asc) 降序 (desc)
默认是升序 使用:order by 字段名 desc
查询所有雇员,按月薪降序排序,如果月薪相同时,按编号降序排序
SELECT * from emp ORDER BY sal DESC, empno DESC;
3.一些基本的函数
3.1 count(*)计数
3.2 sum() 求和
3.3 avg() 去平均值
3.4 max() min() 最大值最小值
例
计算佣金的记录数 查询薪金记录数
select count(comm) 佣金行数 ,count(sal) 薪金行数 from emp;
查询薪金总和
select sum(sal) from emp;
统计所有员工平均工资:
SELECT avg(sal) 平均工资 from emp;
查询最高工资和最低工资
select max(sal) ,min(sal) from emp;
4.分组查询 group by 组名
查询每个部门的编号以及每个部门的人数
select deptno,count(ename) from emp GROUP BY deptno;
5.分页查询
linmit 参数一,参数二
第一个参数代表起始页 ,第二参数表示一共显示几条记录
例
select * from emp LIMIT 0,3; 从0开始显示三条记录
6.模糊查询
通配符 关键字 like
% 代表可以匹配任意个字符 _ 代表一个字符
例
select * from emp where ename like ‘%W’;
SELECT * from emp where ename like ‘%w%’;
SELECT * from emp where ename like ‘w_’;
SELECT * from emp where ename like ‘w_‘;
7数据的完整性
实体完整性,域完整性,引用完整性
7.1 主键完整性(primary key)—数据唯一,且不能为空
添加主键的方式一
create table student (id intprimary key,name varchar(100));
添加方式二 添加联合主键
create table stu2 (id int ,name varchar(100),primary key(id));
create table stu3(cid int,tid int,name varchar(100),primary key(cid,tid));
联合主键的意思是只要不完全相同就可以看做是唯一的
添加方式三 直接在表结构中添加主键
create table stu4 (id int ,name varchar(60));
alter table stu4 add constrint primary key(id);
7.2 唯一约束 (unique)
特点:数据不能重复但是可以空值
create table stu5 (id int,name varchar(100) unique);
insert into stu5 values (4,null); 可以插入
insert into stu5 values (3,’wang’),(2,’wang’); 无法插入
7.3 自动增长列 auto_increment
create table stu6 (id int primary key auto_increment,name varchar(100));
insert into stu6 values (null,’ong’);
insert into stu6 values (null,’ong’);
insert into stu6 values (null,ong’);
insert into stu6 values (4 ,’sda’);
前面null自动会变成1,2,3
8.域完整性
— 限制单元格的数据是否正确
— 域完整性约束 数据类型
非空约束(not null)与默认约束(default)
create table stu7(id int primary key,name varchar(100) not null,gender varcahr(100) default ‘男’);
此时插入数据时name 字段不能为空,并且你不填写性别时,默认为男
例:insert into stu7(id,name) values (1,’fgjk’);
9.引用完整性
创建一张学生表 及其成绩表
create table mstudent(sid int primary key,name varcahr(100));
方式一;
create table score(
score int ,
sid int
--添加一个外键 foreign key(sid)
constrint fk_score_sid foreign key (sid) reference mstudent(sid)
);
方式二:
alter batle score add constra int fk_score_sid foreign key(sid) referance mystudent(sid);