select 条件 *from 表名where name is null;函数
create table 表名(列1 列约束,列2 varchar(32)not null default'')charset= utf8排序
group by:索引
分组是的是:将全部记录按照某个相同字段进行分类,好比针对员工信息的用法:it
select 聚合函数,选取的字段from employee group by 分组的字段;table
group by 必须和聚合函数(count)出现class
min:求最小select
max:求最大分页
sum:求和语法
count:计数,数量
avg:平均数
having: 表示group by 以后的数据,进行再一次的筛选
asc: order by 字段名asc(升序)
desc: order by 字段名desc(降序)
limit:分页 limit offset,size
offset: 行数据索引
size: 取多少条数据
使用的顺序:
select *from 表名 where 条件group by 条件 having 条件order by 条件 limit 条件;
where>group by > having > order by > limit
使用缘由:
减小占用空间、
只须要修改department表中一次,其他的表中的数据就会相应的修改
一对多:
使用方法:constraint 外键名 foreign key (被约束的字段) references 约束的表(约束的字段)
多对多:
使用方法: constraint 表1 表二foreign key(列明) references 列明
一对一:
constraint 表名 foring key(列名) references 表名(列明),unique(列明)charset = utf8
多表链接查询:
语法:select 字段列表 from 表1 inner/left/right join 表2 on 表1 .字段=表2.字段;
内链接:
select employee.列名 from employee inner join department on employee.列明 =department.列名
左链接:
select employee.列名,employee.列名,department.列名 as 列名 from employee left join department on employee.列名=department.列名;
右链接:
select employee.列名,employee.列名,department.列名 as 列名 from employee right join department on employee.列名=department.列名;
全链接(显示左右两边的所有记录):
select *from employee left join department on employee.列名=department.列名