mysql语句(二)


去除重复数据 select distinct 字段 from 表;

如果相加的两个字段中有空值    select 字段+ifnull(字段,0) from 表;

别名 select 字段1 as 别名1,字段2 as 别名2 from 表;

排序
默认升序 ASC select * from 表名 ORDER BY 字段名;
降序 DESC select * from 表名 ORDER BY 字段名 DESC;
如果字段1相同,按字段2排序 select * from  表名 ORDER BY 字段一 DESC,字段2 DESC;

模糊查询
以l开头 select * from 表名 where 字段 like 'l%';
含有l   select * from 表名 where 字段 like '%l%';
以l结尾  select * from 表名 where 字段 like '%l';


聚合函数(都能自动过滤空值) 队列操作
查询总记录次数 select count(*) from 表名;

和sum

平均 AVG

分组查询
group by;
先删选 再分组  再排序
select * from 表名 where 删选条件 分组;

Where后面不可以使用聚合函数 having是分组过后的筛选关键词,可以跟聚合函数
Select * from 表名 group by having 聚合函数操作;

分页查询
参数一从哪条数据开始
参数二一共查询几条
Select * from 表名 limit 参数一,参数二

数据完整性
主键约束 唯一且不为空
创建表的时候
1.Create table 表名(字段一 类型 primary key,字段2 类型);
2.create table 表名(字段1 类型,字段2 类型,primary key(字段));
3.创建联合主键 只有当两个字段都相同时才算重复
create table 表名(字段1 类型,字段2 类型,primary key(字段1,字段2));
4.增加约束条件
Create table 表名(字段一 类型 ,字段2 类型);
Alter table 表名 add constraint primary key(字段1);

Unique 唯一可以是空

auto_increment;自动增长 且出现过的不会再出现

非空约束 not null;

默认约束 default;

引用约束  create table 主表(字段一 类型一 primary key,字段2 类型2);
         Create table 从表(字段一 类型一 ,字段3 类型3,constraint fk_主表_从表_字段一 foreign key(字段一) references 主表(字段一));

猜你喜欢

转载自blog.csdn.net/hehanhh/article/details/80671433