黑马程序员技术交流社区

标题: ~~~~~~ [打印本页]

作者: acx521    时间: 2019-7-14 14:53
标题: ~~~~~~
排序:order  by   为指定的字段排序

        排序方式:    asc升序(默认)                                                 desc降序

聚合函数:

        count(计算某个列的总个数)         max(取某个列的最大值)

        min(取某个列的最小值)        avg(获得某个列的平均值)                 sum(获得某个列的总和)

注意:

        聚合函数都是排除null的值,进行运算的!!!,聚合函数后面可以加条件

-- 查询表中的数据的个数

        SELECT COUNT(*) FROM stu_score;

-- 查数学的平均值

        SELECT AVG(math) FROM stu_score;

        SELECT AVG(math) FROM stu_score WHERE math > 80;

-- 我想知道考试数学成绩100的人有多少个

        SELECT COUNT(*) FROM stu_score WHERE math = 100;

分组:group  by

注意:

        分组后要查找的字段必须是分组字段或者聚合函数(查询私有字段没有意义)

        where是分组前过滤,having是分组后过滤;where不能跟聚合函数,having可以

select

        要查询的列

from

        要查询的表

where

        分组前的过滤条件

group by

        按照什么来分组

having

        分组后的过滤条件

order by

        排序规则

limit

        分页限定



非空约束 ---> not null
1.创建表时添加
        create table 表名(
                字段的名称 字段类型 not null
        );
2.创建表后添加
        alter table 表名 modify 字段名称 字段类型 not null; -- 要求这一列里面不能有null的数据
3.移除非空约束
        alter table 表名 modify 字段名称 字段类型;
唯一约束UNIQUE ----> 注意:唯一对null是没有效果的
1.创建表时添加
        create table 表名(
                字段的名称 字段类型 UNIQUE
        );
2.创建表后添加
        alter table 表名 modify 字段名称 字段类型 UNIQUE; -- 要求这一列里面不能有重复的数据
3.移除唯一约束
        alter table 表名 drop index 字段名
主键:PRIMARY KEY 非空且唯一,注意: 一张只能有一个主键
1.创建表时添加
        create table 表名(
                id int primary key,
                name varchar(20)
        );
2.创建表后添加
        alter table 表名 modify 列名 类型 primary key;
3.移除主键约束
        alter table 表名 drop primary key;
注意:因为主键非空且唯一, 在插入数据时候,不能重复, 在书写起来很不方便,我们必须在检查主键
需要一个东西管理我们的主键
1.主键是整数类型---->一般和auto_increment结合,让自动增长管理主键
2.字符串类型---> 会通过随机生成一个永远不会重复的字符串来作为主键                       
        外键约束:FOREIGN KEY 作用---->用来约束"表"和"表"之间的数据,能够保证数据的完整性,安全性

        1.创建表时添加

                create table 表名(

                        id int primary key auto_increment,

                        name varchar(20),

                        tid int, -- 希望tid作为外键关联另外一张表

                        [contraint 外键的名字] foreign key(tid) references 另外一张表(字段名字)
);
2.创建表后添加
        alter table 表名 add [contraint 外键的名字] foreign key(tid) references 另外一张表(字段名字);
3.移除外键约束
        alter table 表名 drop  foreign key 外键名;
       
4. 级联操作
        级联更新 on update cascade
        级联删除 on delete cascade
        例如:
        alter table 表名 add [contraint 外键的名字] foreign key(tid) references 另外一张表(字段名字) on update cascade





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