黑马程序员技术交流社区

标题: [石家庄校区]--DQL查询语句和约束 [打印本页]

作者: 毕业后八块腹肌    时间: 2018-12-10 10:39
标题: [石家庄校区]--DQL查询语句和约束
DQL查询

1. 排序查询

* 语法:order by 子句

* order by 排序字段1 排序方式1 ,  排序字段2 排序方式2...

* 排序方式

* ASC:升序,默认的。

* DESC:降序。

* 注意:

* 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。


2. 聚合函数:将一列数据作为一个整体,进行纵向的计算

1. count:计算个数

1. 一般选择非空的列:主键

2. count(*)

2. max:计算最大值

3. min:计算最小值

4. sum:计算和

5. avg:计算平均值

* 注意:聚合函数的计算,排除null值。

解决方案:

1. 选择不包含非空的列进行计算

2. IFNULL函数


3. 分组查询:

1. 语法:group by 分组字段;

2. 注意:

1. 分组之后查询的字段:分组字段、聚合函数

2. where having 的区别?

1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having

在分组之后进行限定,如果不满足结果,则不会被查询出来

2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。



4. 分页查询

1. 语法:limit 开始的索引,每页查询的条数;

2. 公式:开始的索引 = (当前的页码 - 1) * 每页显示的条数

-- 每页显示3条记录

约束

概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。

分类:

1. 主键约束:primary key

2. 非空约束:not null

3. 唯一约束:unique

4. 外键约束:foreign key



外键约束:foreign key,让表于表产生关系,从而保证数据的正确性。

1. 在创建表时,可以添加外键

                * 语法:

                        create table 表名(

                                ....

                                外键列

                                constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)

                        );


        2. 删除外键

                ALTER TABLE 表名 DROP FOREIGN KEY 外键名称;


        3. 创建表之后,添加外键

                ALTER TABLE 表名 ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);

       

       

        4. 级联操作

                1. 添加级联操作

                        语法:ALTER TABLE 表名 ADD CONSTRAINT 外键名称

                                        FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称) ON UPDATE CASCADE ON DELETE CASCADE  ;

                2. 分类:

                        1. 级联更新:ON UPDATE CASCADE

                        2. 级联删除:ON DELETE CASCADE









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2