一,主键约束。
字段的值必须为唯一且不能为Null,通常会使用自增策略。
例如:create table abc(id int primary key auto_increment);
==============================================================
二,非空约束。
字段的值不能为空,但可以重复。
例如:create table user(id int primary key auto_increment,
password varchar(50) not null);
==============================================================
三,唯一约束。
字段的值必须唯一,不能重复,但可以为null,并且null值可以重复。
例如:
create table test(id int primary key auto_increment,
username varchar(50) unique--唯一约束);
==============================================================
基础函数
1.lower----数据转小写
2.upper----数据转大写
3.length---数据的长度
4.substr---截取字符串
例如:SELECT dname,SUBSTR(dname,1,3) FROM dept;
5.concat---拼接字符串
例如:select dname,concat(dname,'123') X from dept
6.replace--把A字符替换成B字符
例如:select dname,replace(dname,'a','666') X from dept
7.ifnull---判断是否为空,是的话,用X代替
例如:select ifnull(comm,10) comm from dept
=================================================================
四,条件查询.
1.like模糊查询。通常配合%作为占位符。
例如:select *from emp where ename like '%a%'表示包含a,动态匹配0~n个字符。
2.limit分页
例如:select *from emp limit 3.表示值查前三条。
select *from emp limit 0,3 第一个数字是开始位置(从n+1开始)第二个是总条数。
3.order by
select *from emp order by sal 默认升序
select*from emp order by sal desc 降序
4.distinct 去重查询
select distinct loc from dept
==================================================================
五,聚合函数
count----求总数,Max---求最大值,Min--求最小值,Avg--求平均值,Sum--求总和。
select count(comm) , max(sal), min(sal),avg(sal),sum(sal),from emp。
注意:非聚合函数和聚合函数不能一起使用。否则需要进行分组查询。
例如:统计每个部门的平均薪资。
问题一:什么时候必须进行分组?当查询结果中出现了聚合列和非聚合列的时候。
问题二:按照什么分组合理?通常按照非聚合列分组。
select deptno ,AVG(sal) from emp group by deptno #按照部门编号分组。
=========================================================================
六,分组.
group by 与having搭配使用,不与where连用。
分组前用where过滤,分组后过滤用having。