> 文章列表 > MySQL数据库:聚合函数、分组查询、约束、默认值设置、自增属性

MySQL数据库:聚合函数、分组查询、约束、默认值设置、自增属性

MySQL数据库:聚合函数、分组查询、约束、默认值设置、自增属性

一、聚合函数

1.聚合函数

        在MySQL数据库中预定义好的一些数据统计函数。

2.count(*)

功能:统计结果条数。

3.sum(字段名)

功能:对指定字段的数据求和。

4.avg(字段名)

功能:对指定字段的数据求平均值。

5.max(字段名) 和 min(字段名) 

功能:求取指定字段中,所有数据的最大值/最小值。

二、分组查询

概念:

        以表中某个字段为依据,对所有数据进行分组,然后对分组进行数据统计。

关键字:group by ……

注意事项:

(1)分组查询,所查询的字段只能是分组依据字段或聚合函数。

(2)分组查询中如果含有过滤条件,不能使用where,使用having。

三、表中字段约束

1. 非NULL约束

not null:约束某个字段的值不能为NULL。

2.唯一约束

unique key:约束某个字段的所有数据不能重复。

注意:直接接字段后时,key可省略不写。

3.主键约束

3.1 单个主键

primary key:约束指定字段非空且唯一。

注意:

(1)一个表中只能有一个主键。

(2)若表中没有设置主键,则非空且唯一修饰字段会升级为主键。

3.2 组合主键

primary key(字段1, 字段2,……):将多个字段整体,作为主键。

注意:

(1)组合整体才是主键,并不是每个组合字段都是主键。

(2)组合主键中的每个字段都不能为null。

(3)组合主键不能重复(注意:只有组合主键中的每个字段都相同,才视为重复)。

4.外键约束

外键约束:

        约束某张表中的某个字段的值,受到另一张表中字段数据的限制(即这个插入的数据必须在另一张表中存在)。

外键操作:

        foreign key(fields) references table2(fields);

例如:将学生表中的class_id字段与班级表中的id字段建立外键约束

四、默认值设置default

default 默认值:当表中指定字段没有进行数据添加时,将使用默认值进行自动填入。

注意:指定列新增,但是指定列不包含默认列,才会用默认值进行填入。全列新增给入null还是填入null,并不会自动填入默认值。

 五、自增属性auto_increment

auto_increment:

        当一个字段是整形字段,且该字段有唯一或主键约束,则可以使用自增属性。

自增属性:

        即若该字段给入的是null,则它会自动按表中最大的数字+1,向下增长。