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.列名