DQL 分组查询
select 字段列表 from 表名 where 分组前条件 group by 分组字段名 having 分组后条件过滤
having和 where区别
执行时机不同 ,where是分组前进行限定 不满足条件不参与分组 where 分组之后对结果进行过滤
判断条件不一样 where不能对聚合函数进行判断 having可以
执行顺序
where>聚合函数>having
DQL分页查询
select 字段列表 from 表名 limit 起始索引 查询页数
起始索引从0开始
起始索引=(当前页码-1)*每页显示条数
分页查询
oracle 是rownumber
sql server 使用top
小结
select
字段列表
from
表名
where
条件列表
group by
分组列表
having
分组后条件
order by
排序字段
limit
分页限定
约束
primary key 主键 一个表只能有一个 非空且唯一 (索引)
not Null 非空约束
unique 唯一约束 (索引)
default 默认值
auto_increment 自增 当列必须是数字类型
外键约束 让两个表之间建立连接 保证数据的一致性和完整性
添加外键约束语法1
create table 表名(
列名 数据类型, constraint 外键名称(一般为 从表名_主表名_fk) foreign key (外键名称) references 主表名(主表列名称)(必须是主键)
)
建完表后添加外键约束
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称 (主表列名)
删除约束
alter table 表名 drop foreign key 外键名称