黑马程序员技术交流社区

标题: 【厦门校区JavaEE7期-每日总结】MySQL约束 [打印本页]

作者: 厦门校区    时间: 2019-5-13 14:51
标题: 【厦门校区JavaEE7期-每日总结】MySQL约束
1.having和where的区别?
2.什么是主键,主键有什么作用?
3.我们今天学了几种约束,主键必须要有哪几种约束?
4.什么情况下会用到group by分组函数?
5.什么情况下会用到一对多,什么情况下会用到多对多?
作者: 阮必文    时间: 2019-5-13 19:26
1.having和where的区别?
        where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
         where 后不可以跟聚合函数,having可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
    主键是作为表的行的唯一标识的候选关键字。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。
    ①可以保证实体的完整性;
    ②能够加快数据库的操作速度;
    ③在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值    重复;
    ④ACCESS自动按主键值的顺序显示表中的记录,但如果没有定义主键,则按输入记录的顺序显    示表中的记录。
3.我们今天学了几种约束,主键必须要有哪几种约束?
    四种约束:主键约束 primary key,唯一约束 unique,外键约束  foreign key,非空约束notnull
    主键必须有:非空约束not null,唯一约束 unique
4.什么情况下会用到group by分组函数?
     group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。
    例如需要得到一个数据中的限定条件时。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多(多对一):
如:部门和员工,一个部门有多个员工,一个员工只能对应一个部门
    多对多关系也很常见,例如学生与选修课之间的关系,一个学生可以选择多门选修课,而每个选修课又可以被多名学生选择。
    数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。



作者: 郑方灼    时间: 2019-5-13 19:34
1.having和where的区别?
答(1)where作用于分组语句group by 前,先进行where判断再进行分组,having作用于分组语句后,先进行分组在进行判断;
   (2)having可以使用聚合函数,where不能使用聚合函数;

2.什么是主键,主键有什么作用?
答:主键是表中记录的唯一标识,可以通过主键确认表中的所有非主键属性。

3.我们今天学了几种约束,主键必须要有哪几种约束?
答:主键必须要有1、主键约束,2、非空约束,3、唯一约束。

4.什么情况下会用到group by分组函数?
答:当需要将一列数据作为一个整体进行操作时,需要用到分组函数group by;

5.什么情况下会用到一对多,什么情况下会用到多对多?
答:当一个属性A对应多个属性,且这多个属性只指向属性A时,需要用到一对多;
      当属性组A中的属性对应多个属性组B中的属性,且属性组B中的属性又指向属性组A中的多个属性,这时需要用到多对多。
作者: 郑斐均    时间: 2019-5-13 20:07
     1.having和where的区别?

having
        是在分组后对数据进行判断(限定)【判断条件时可用聚合函数】,其结果不满足条件,
        则不会被查询出来。
where
        未分组前就进行判断(限定)【条件不可用聚合函数】其结果满足所要的条件,
        则进行分组,不满足反之。
     2.什么是主键,主键有什么作用?

        无非空且是唯一
        一张表只能有一个字段为主键
        主键就是表中记录的唯一标识
作用
        主键主要是用于其他表的外键关联,以及本记录的修改与删除。

     3.我们今天学了几种约束,主键必须要有哪几种约束?

        1. 主键约束:primary key
        2. 非空约束:not null
        3. 唯一约束:unique
        4. 外键约束:foreign key
主键
        主键必须要有非空约束,唯一约束。

4.什么情况下会用到group by分组函数?

        就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多
        一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。
        在这个班级中随便找一个人,就会知道他们的班主任是谁;
        知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
多对多
        多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。
        一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。

作者: 郑斐均    时间: 2019-5-13 20:12
  1.having和where的区别?

having
        是在分组后对数据进行判断(限定)【判断条件时可用聚合函数】,其结果不满足条件,
        则不会被查询出来。
where
        未分组前就进行判断(限定)【条件不可用聚合函数】其结果满足所要的条件,
        则进行分组,不满足反之。
     2.什么是主键,主键有什么作用?

        无非空且是唯一
        一张表只能有一个字段为主键
        主键就是表中记录的唯一标识
作用
        主键主要是用于其他表的外键关联,以及本记录的修改与删除。

     3.我们今天学了几种约束,主键必须要有哪几种约束?

        1. 主键约束:primary key
        2. 非空约束:not null
        3. 唯一约束:unique
        4. 外键约束:foreign key
主键
        主键必须要有非空约束,唯一约束。

4.什么情况下会用到group by分组函数?

        就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多
        一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。
        在这个班级中随便找一个人,就会知道他们的班主任是谁;
        知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
多对多
        多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。
        一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。

作者: 郑斐均    时间: 2019-5-13 21:14
     1.having和where的区别?

having
        是在分组后对数据进行判断(限定)【判断条件时可用聚合函数】,其结果不满足条件,
        则不会被查询出来。
where
        未分组前就进行判断(限定)【条件不可用聚合函数】其结果满足所要的条件,
        则进行分组,不满足反之。
     2.什么是主键,主键有什么作用?

        无非空且是唯一
        一张表只能有一个字段为主键
        主键就是表中记录的唯一标识
作用
        主键主要是用于其他表的外键关联,以及本记录的修改与删除。

     3.我们今天学了几种约束,主键必须要有哪几种约束?

        1. 主键约束:primary key
        2. 非空约束:not null
        3. 唯一约束:unique
        4. 外键约束:foreign key
主键
        主键必须要有非空约束,唯一约束。

4.什么情况下会用到group by分组函数?

        就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多
        一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。
        在这个班级中随便找一个人,就会知道他们的班主任是谁;
        知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
多对多
        多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。
        一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。

作者: 刘正    时间: 2019-5-13 21:25
1.having和where的区别?
where是在分组前进行限定,如果不满足条件,则不会进行分组,而having是在分组后进行限定,如果不满住条件,就不会被查询出来,
where后面不可以跟聚合函数,having可以进行聚合函数的判断。

2.什么是主键,主键有什么作用?
主键就是表中记录的唯一标识

3.我们今天学了几种约束,主键必须要有哪几种约束?
四种, 非空约束,唯一约束,外键约束,以及主键约束, 主键约束需要有其他三种约束一起。

4.什么情况下会用到group by分组函数?
当需要对数据进行分组判断的时,一般后接聚合函数。

5.什么情况下会用到一对多,什么情况下会用到多对多?
再多的一方建立外键,指向已的一方主键,当双方都有主键且相互指向的时候,需要用到多对多。
作者: 刘炯榕    时间: 2019-5-13 21:31
1.having和where的区别?

答:1、where 在分组之前进行限定,如果不满足条件,则不参与分组。
having 在分组之后进行限定,如果不满足结果,则不会被查询出来
2、where后不可以跟聚合函数,having可以进行聚合函数的判断。

2.什么是主键,主键有什么作用?

答:主键就是非空且唯一,一张表只能有字段为主键 ,
就是表中记录的唯一标识。
主键的作用是保证数据的完整性,并且有利于查找数据。

3.我们今天学了几种约束,主键必须要有哪几种约束?

答:四种。唯一位数:unique,非空约束:notnull,主键约束:primary key,外键约束:foreign key。
主键必须有,非空且唯一。

4.什么情况下会用到group by分组函数?
答,在需要条件限定的时候需要用到分组函数进行分组以便于更好的判断查询结果。

5.什么情况下会用到一对多,什么情况下会用到多对多?
答:为了实现关系在多的一方建立外键,指向一的一方的主键,例如“部分和员工”之间的关系。
为了实现关系多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,
这两个字段作为第三张表的外键,分别指向两张表的主键。比如“学生与课程”。
作者: 刘鸿    时间: 2019-5-13 21:32
1.having和where的区别?
        having 用在分组之后筛选,where又在分组之前进行筛选。

2.什么是主键,主键有什么作用?
        主键是唯一不为空的列。主键是表中数据的唯一标识。

3.我们今天学了几种约束,主键必须要有哪几种约束?
        4种约束。①非空约束(NOT NULL)②唯一约束(UNIQUE)③主键约束(PRIMARY KEY)④外键约束(FOREIGN KEY)。
        主键必须有非空、唯一约束。

4.什么情况下会用到group by分组函数?
        对每个分组字段进行合计个数、求和、算平均数、取最大值、取最小值等运算时会用到group by分组函数。

5.什么情况下会用到一对多,什么情况下会用到多对多?
        一对多:每个员工和所属部门的关系属于一对多。
        多对多:每个学生和他们选修课程的关系属于多对多。
作者: 郑斐均    时间: 2019-5-13 21:32
1.having和where的区别?

having
        是在分组后对数据进行判断(限定)【判断条件时可用聚合函数】,其结果不满足条件,
        则不会被查询出来。
where
        未分组前就进行判断(限定)【条件不可用聚合函数】其结果满足所要的条件,
        则进行分组,不满足反之。
     2.什么是主键,主键有什么作用?

        无非空且是唯一
        一张表只能有一个字段为主键
        主键就是表中记录的唯一标识
作用
        主键主要是用于其他表的外键关联,以及本记录的修改与删除。

     3.我们今天学了几种约束,主键必须要有哪几种约束?

        1. 主键约束:primary key
        2. 非空约束:not null
        3. 唯一约束:unique
        4. 外键约束:foreign key
主键
        主键必须要有非空约束,唯一约束。

4.什么情况下会用到group by分组函数?

        就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多
        一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。
        在这个班级中随便找一个人,就会知道他们的班主任是谁;
        知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
多对多
        多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。
        一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。
作者: 徐雯雯    时间: 2019-5-13 21:32
1.having和where的区别?
     答 :
        1. where 在分组之前进行限定, 如果条件不满足,  就不会参与分组, having在分组之后进行限定, 如果不满足结果,就不会被查询出来
        2. where 后不可以跟聚合函数, having 可以进行聚合函数判断

2.什么是主键,主键有什么作用?
    答 :
        主键就是表中记录的唯一标识, 一张表只能有一个字段是主键 .  主键可以保证被赋予的列中的数据非空且唯一
       
3.我们今天学了几种约束,主键必须要有哪几种约束?
    答 :
        1. 主键约束
        2. 唯一约束
        3. 非空约束
        4. 外键约束
        主键约束必须保证该列内数据非空而且唯一


4.什么情况下会用到group by分组函数?
    答 :
        当我们要对某一列的数值进行计算的时候就要用到聚合函数

5.什么情况下会用到一对多,什么情况下会用到多对多?
    答 :  
        1. 当一个数据被多个数值使用的时候需要用到一对多
        2. 当一个数据可以被多个数值使用并且一个数值也可以有多个数据选择的时候需要用到多对多
作者: 郑斐均    时间: 2019-5-13 21:33
1.having和where的区别?

having
        是在分组后对数据进行判断(限定)【判断条件时可用聚合函数】,其结果不满足条件,
        则不会被查询出来。
where
        未分组前就进行判断(限定)【条件不可用聚合函数】其结果满足所要的条件,
        则进行分组,不满足反之。
     2.什么是主键,主键有什么作用?

        无非空且是唯一
        一张表只能有一个字段为主键
        主键就是表中记录的唯一标识
作用
        主键主要是用于其他表的外键关联,以及本记录的修改与删除。

     3.我们今天学了几种约束,主键必须要有哪几种约束?

        1. 主键约束:primary key
        2. 非空约束:not null
        3. 唯一约束:unique
        4. 外键约束:foreign key
主键
        主键必须要有非空约束,唯一约束。

4.什么情况下会用到group by分组函数?

        就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多
        一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。
        在这个班级中随便找一个人,就会知道他们的班主任是谁;
        知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
多对多
        多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。
        一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。
作者: 王卓立    时间: 2019-5-13 21:36
1.having和where的区别?

1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。

2.什么是主键,主键有什么作用?

表记录的唯一标识称为主键

通过主键确定表中的记录,也可以作为其他表的外键.因为其非空且唯一的特性.

3.我们今天学了几种约束,主键必须要有哪几种约束?

- 非空约束:not null,某一列的值不能为null
- 唯一约束:unique,某一列的值不能重复
- 主键约束:primary key。表中记录的唯一标识
- 外键约束:foreign key,让表于表产生关系,从而保证数据的正确性。
  ?    外键列
      constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)

4.什么情况下会用到group by分组函数?

使用聚合函数时需要对列的数据按照条件进行分别运算时.

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多:一个A类实体对应多个B类实体

多对多:一个A类实体能对应多个B类实体,一个B类实体也能对应多个A类实体

作者: 谢龙炜    时间: 2019-5-13 21:37
1.having和where的区别?
答:
where
        1.对查询结果进行分组前,将不符合 where 条件的行去掉,即在分组之前过滤数据,即先过滤再分组。
        2.where 后面不可以使用聚合函数
having
        1.having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
        2.having 后面可以使用聚合函数

2.什么是主键,主键有什么作用?
答:主键就是表中记录的唯一标识。
        无规矩不成方圆,无约束不成完整数据。主键能对表进行约束规范,保证了数据的正确性、有效性和完整性。
       
3.我们今天学了几种约束,主键必须要有哪几种约束?
答:四种约束;
                1.主键约束:primary key,非空且唯一,一张表只能有一个字段为主键,主键就是表中记录的唯一标识。
                2.非空约束:not null,某一列的值不能为null
                3.唯一约束:unique,某一列的值不能重复(注:唯一约束可以有null值,也可以有多条记录为null值)
                4.外键约束:foreign key,让表于表产生关系,从而保证数据的正确性。
        主键必须要非空和唯一约束。       

4.什么情况下会用到group by分组函数?
答:
在需要对查询出来结果数据进行分组时,使用到group by分组函数。
使用group by 分组函数时需要注意以下几点:
        1.分组之后查询的字段只能是分组字段、聚合函数
        2. where 和 having 的区别?
                        1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
                        2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
                       
5.什么情况下会用到一对多,什么情况下会用到多对多?
答:
一对多(1:n) 例如:班级和学生,部门和员工,客户和订单,分类和商品。
一对多建表原则: 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键。

多对多(m:n) 例如:老师和学生,学生和课程,用户和角色
多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。
作者: 郭建(07期)    时间: 2019-5-13 21:38
1.having和where的区别?
答:1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来;
    2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。


2.什么是主键,主键有什么作用?
答:主键是表中记录的唯一标识,必须是非空且唯一的,一张表只能有一个字段为主键。
    主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。


3.我们今天学了几种约束,主键必须要有哪几种约束?
答:今天学习了4种约束,分别是主键约束、非空约束、唯一约束和外键约束。
    主键必须是非空且唯一的,所以有非空约束和唯一约束。


4.什么情况下会用到group by分组函数?
答:对数据分组的时候,会使用到group by。


5.什么情况下会用到一对多,什么情况下会用到多对多?
答:一对多,比如一个员工只能对应一个部门,但是一个部门可以对应多个员工;
    多对多,比如一个学生可以学习多个学科,一个学科也可以对应多个学生。


作者: 刘洪霖    时间: 2019-5-13 21:40
1.having和where的区别?
答:
1、 having语句后面可以进行聚合函数判断,where语句后面不能跟聚合函数。
2、where在分组之前进行限定,如果不满足条件,则不参分组;having在分组之后进行限定,如果不满足结果,则不会被查询出来。
2.什么是主键,主键有什么作用?
  答:
      主键就是表中记录的唯一标识;一张表只能有一个字段为主键,并且主键是非空且不重复,是唯一的。
3.我们今天学了几种约束,主键必须要有哪几种约束?
答:
四种约束;
分别为:1. 主键约束:primary key
             2. 非空约束:not null
             3. 唯一约束:unique
             4. 外键约束:foreign key
其中主键包含唯一约束和非空约束;
4.什么情况下会用到group by分组函数?
答:
      当我们查询是需要进行分组查询是就需要用到group by语句。
5.什么情况下、会用到一对多,什么情况下会用到多对多?
答:
      当一张表满足我不了我们需要时我们需要运用到外键约束;外键约束又有分为:一对一、一对多(多对一)、多对多,三种形式;一对多(多对一 )比如一个部门有多个员工,一个员工只能对应一个部门          ;多对多,比如说人可以有过多个角色,这些角色也可以是被多个人使用的。
作者: 陈明捷    时间: 2019-5-13 21:44
1.having和where的区别?
where 子句:  1) 对查询结果进行分组前,将不符合 where 条件的行去掉,即在分组之前过滤数据,即先过滤
        再分组。
               2) where 后面不可以使用聚合函数
having 子句: 1) having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
            2) having 后面可以使用聚合函数

2.什么是主键,主键有什么作用?
用来唯一标识数据库中的每一条记录
       
3.我们今天学了几种约束,主键必须要有哪几种约束?
1. 主键约束:primary key
2. 非空约束:not null
3. 唯一约束:unique
4. 外键约束:foreign key

4.什么情况下会用到group by分组函数?
GROUP BY 将分组字段结果中相同内容作为一组,并且返回每组的第一条数据,所以单独分组没什么用处。
分组的目的就是为了统计,一般分组会跟聚合函数一起使用。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多建表原则:  在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
多对多关系建表原则:  需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的
主键
作者: 郑斐均    时间: 2019-5-13 21:44
1.having和where的区别?

having
        是在分组后对数据进行判断(限定)【判断条件时可用聚合函数】,其结果不满足条件,
        则不会被查询出来。
where
        未分组前就进行判断(限定)【条件不可用聚合函数】其结果满足所要的条件,
        则进行分组,不满足反之。
     2.什么是主键,主键有什么作用?

        无非空且是唯一
        一张表只能有一个字段为主键
        主键就是表中记录的唯一标识
作用
        主键主要是用于其他表的外键关联,以及本记录的修改与删除。

     3.我们今天学了几种约束,主键必须要有哪几种约束?

        1. 主键约束:primary key
        2. 非空约束:not null
        3. 唯一约束:unique
        4. 外键约束:foreign key
主键
        主键必须要有非空约束,唯一约束。

4.什么情况下会用到group by分组函数?

        就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多
        一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。
        在这个班级中随便找一个人,就会知道他们的班主任是谁;
        知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
多对多
        多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。
        一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。
作者: 伍志晟    时间: 2019-5-13 21:45
1.having和where的区别?
答:
having 在分组后需要满足的条件,没有满足的数据则不会显示,having后面可以跟聚合函数
where 在分组前需要满足的条件,没有满足的数据则不会参与分组,where后面不可以跟聚合函数

2.什么是主键,主键有什么作用?
答:
主键就是表中数据的唯一表示。非空且唯一的数据。

3.我们今天学了几种约束,主键必须要有哪几种约束?
答:
4种约束;主键约束,非空约束,唯一约束,外键约束。
主键必须要有非空和唯一约束。

4.什么情况下会用到group by分组函数?
答:
当需要统计数据时会使用到group by 分数函数,一般会跟聚合函数一起使用。

5.什么情况下会用到一对多,什么情况下会用到多对多?
答:
例如:员工和部门之间就是一对多的情况。一个部门可以包含多名员工,多名员工指向一个部门。
例如:学生和课程之间就是多对多的情况。一名学生可以选择多种课程,一个课程也可以被多名学生选择。
作者: 连惠腾    时间: 2019-5-13 21:47
1.having和where的区别?
a.having:having子句和where子句一样都能起到过滤筛选数据的作用,having 用在group by后面,即在分组后过滤数据;having后面一般跟聚合函数;
b.where:where子句有过滤筛选数据的作用,一般用在group by之前,即分组前进行数据筛选,where子句后面不能跟聚合函数。

2.什么是主键,主键有什么作用?
主键即数据库中数据表一个非空唯一的一标识。作用:用来标识数据库的每条操作,能够用来进行多表操作。

3.我们今天学了几种约束,主键必须要有哪几种约束?
四种约束:
a.非空约束:即not null ,表示该字段不能为空。
b.唯一约束:即enique,表示该字段不能添加重复内容。(可以允许出现多个null,即该字段没有填写)。
c.主键约束:即primary key,表示该字段不能为空,且唯一。
d.外键约束:即foreign key,让不同表之间产生关系,保证数据的准确。

4.什么情况下会用到group by分组函数?
想要对数据表中的数据进行分组查询,把相同的数据作为一组;一般会和聚合函数一起使用。

5.什么情况下会用到一对多,什么情况下会用到多对多?
1对多:即存在1对n的关系,如一个班级能有多个学生,一个学生只能有一个班级;这时候就可以建立一个班级表和一个学生信息表;然后把班级表中的某个字段设成主键,
把学生表中的某个字段设成外键,进行数据表之间的操作。
多对多:即当存在n 对n的关系,如一个学生有多门课程,一门课程可以有多个学生上课。这时候就可以建立一个课程信息表和学生信息表,并在两种之外创建新的表,用来
进行两表之间的联系。
作者: 许泽伟    时间: 2019-5-13 21:48
1.having和where的区别?
having:having子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
where:对查询结果进行分组前, 将不符合 where 条件的行去掉, 即在分组之前过滤数据, 即先过滤
再分组。
区别:where后面不可以使用聚合函数,having后面可以使用聚合函数。

2.什么是主键,主键有什么作用?
用来唯一标识数据库中的每一条记录

3.我们今天学了几种约束,主键必须要有哪几种约束?
四种约束:
主键primary key:用来唯一标识数据库中的每一条记录
非空not null:表中某一列不能为 null,必须有值。
唯一unique:表中某一列不能出现重复的值。
外键foreign key:在被别人约束的表中与用来约束别人的表主键对应的那一列。
主键必须要有:1、非空not null  2、唯一unique

4.什么情况下会用到group by分组函数?
将分组字段结果中相同内容作为一组,如按性别将学生分成 2 组。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:最常用的关系 部门和员工。
多对多:学生选课表 和 学生表, 一门课程可以有多个学生选择,一个学生选择多门课程。
作者: 汪一飞    时间: 2019-5-13 21:49
1.having和where的区别?

where是先判断过滤再分组,后面不能跟聚合函数。
having是先分组然后再进行条件判断,后面可以跟聚合函数

2.什么是主键,主键有什么作用?

主键是表中记录的唯一标识
作用:可以添加主键约束 ,非空却唯一,还可以添加自增长。

3.我们今天学了几种约束,主键必须要有哪几种约束?
四种:
(1)主键约束:primary key
(2)非空约束:not null
(3)唯一约束:unique
(4)外键约束:foreign key
主键必须要有主键约束,自增长约束

4.什么情况下会用到group by分组函数?

将分组字段结果中相同内容作为一组

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多:在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
多对一:需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键
作者: 吴星辉    时间: 2019-5-13 21:49
1.having和where的区别?
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
having 后面可以使用聚合函数
对查询结果进行分组前, 将不符合 where 条件的行去掉, 即在分组之前过滤数据, 即先过滤再分组。
where 后面不可以使用聚合函数

2.什么是主键,主键有什么作用?
主键就是被挑选出来,作表的行的唯一标识的候选关键字。
主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或联合主键。
可以保证实体的完整性;
能够加快数据库的操作速度;
在表中添加新记录时,数据库管理系统会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

3.我们今天学了几种约束,主键必须要有哪几种约束?
主键 primary key  主键要有非空唯一
唯一 unique
非空 not null
外键 foreign key

4.什么情况下会用到group by分组函数?
GROUP BY 将分组字段结果中相同内容作为一组,并且返回每组的第一条数据,所以单独分组没什么用处。
分组的目的就是为了统计, 一般分组会跟聚合函数一起使用。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:最常用的关系 部门和员工
多对多:学生选课表 和 学生表, 一门课程可以有多个学生选择,一个学生选择多门课程
作者: 林美娇    时间: 2019-5-13 21:52
1.having和where的区别?

答:
        WHERE是在分组前进行条件限定,不满足条件不参与分组,后面不可以跟聚合函数;
        HAVING是在分组后进行条件限定,不满足条件不显示出来,后面可以跟聚合函数的判断。

2.什么是主键,主键有什么作用?

答: 主键是非空且唯一的字段,被PRIMARY KEY修饰。
        主键是一张表中记录的唯一标识,可以用来参与一些唯一性的操作,
        保证操作数据的有效性,正确性和完整性。

3.我们今天学了几种约束,主键必须要有哪几种约束?

答: 四种约束:非空约束,唯一约束,主键约束,外键约束。
        主键必须有非空约束和唯一约束。

4.什么情况下会用到group by分组函数?

答:在需要对查询出来结果数据进行分组时,使用到group by分组函数。
       使用group by 分组函数时需要注意以下几点:
        1.分组之后查询的字段只能是分组字段、聚合函数
        2. where 和 having 的区别?
                        1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
                        2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。


5.什么情况下会用到一对多,什么情况下会用到多对多?

答:一对多(1:n) 例如:班级和学生,部门和员工,客户和订单,分类和商品。
       一对多建表原则: 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键。

       多对多(m:n) 例如:老师和学生,学生和课程,用户和角色
       多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。

作者: 阮必文    时间: 2019-5-13 21:53
1.having和where的区别?
        where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
         where 后不可以跟聚合函数,having可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
    主键是作为表的行的唯一标识的候选关键字。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。
    ①可以保证实体的完整性;
    ②能够加快数据库的操作速度;
    ③在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值    重复;
    ④ACCESS自动按主键值的顺序显示表中的记录,但如果没有定义主键,则按输入记录的顺序显    示表中的记录。
3.我们今天学了几种约束,主键必须要有哪几种约束?
    四种约束:主键约束 primary key,唯一约束 unique,外键约束  foreign key,非空约束notnull
    主键必须有:非空约束not null,唯一约束 unique
4.什么情况下会用到group by分组函数?
     group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表。SELECT子句中的列名必须为分组列或列函数。列函数对于GROUP BY子句定义的每个组各返回一个结果。
    例如需要得到一个数据中的限定条件时。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多(多对一):
如:部门和员工,一个部门有多个员工,一个员工只能对应一个部门
    多对多关系也很常见,例如学生与选修课之间的关系,一个学生可以选择多门选修课,而每个选修课又可以被多名学生选择。
    数据库中的多对多关联关系一般需采用中间表的方式处理,将多对多转化为两个一对多。



作者: 黄戚君    时间: 2019-5-13 21:55
1.having和where的区别?
having:having子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
where:对查询结果进行分组前, 将不符合 where 条件的行去掉, 即在分组之前过滤数据, 即先过滤
再分组。
区别:where后面不可以使用聚合函数,having后面可以使用聚合函数。

2.什么是主键,主键有什么作用?
用来唯一标识数据库中的每一条记录

3.我们今天学了几种约束,主键必须要有哪几种约束?
四种约束:
主键primary key:用来唯一标识数据库中的每一条记录
非空not null:表中某一列不能为 null,必须有值。
唯一unique:表中某一列不能出现重复的值。
外键foreign key:在被别人约束的表中与用来约束别人的表主键对应的那一列。
主键必须要有:1、非空not null  2、唯一unique

4.什么情况下会用到group by分组函数?
将分组字段结果中相同内容作为一组,如按性别将学生分成 2 组。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:最常用的关系 部门和员工。
多对多:学生选课表 和 学生表, 一门课程可以有多个学生选择,一个学生选择多门课程。
作者: 江威    时间: 2019-5-13 21:55
1.having和where的区别?
having与where的同为判断
where 比如在分组之前判断条件是否成立,如果不成立则进行筛选,成立则加入筛选,
having 是在筛选完成后 判断条件是否成立,如果成立则显示结果,不成立则不显示结果

2.什么是主键,主键有什么作用?
主键是唯一且不为空
用来唯一标识数据库中的每一条记录


3.我们今天学了几种约束,主键必须要有哪几种约束?
4种约束1.主键 2.唯一约束3.非空4.外键约束
要有非空和唯一

4.什么情况下会用到group by分组函数?
需要查询的信息是,数据为一组,分组的目的就是为了统计

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:多个外键对应一个主键 或一个主键可以包含多个外键  当外键所在的表需要通过主键所在的表来实现分类或者归属

多对多:需要中间表,两个一对多  

作者: 林晓诗    时间: 2019-5-13 21:55
1.having和where的区别?
where是在分组之前过滤不需要的数据,having在分组之后;having之后可以使用聚合函数,where不行。

2.什么是主键,主键有什么作用?
主键是表内数据的唯一标识。

3.我们今天学了几种约束,主键必须要有哪几种约束?
主键约束、唯一约束、非空约束、外键约束
主键必须要非空且唯一。

4.什么情况下会用到group by分组函数?
与聚合函数一起使用,统计不同组的某一数值。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多(多对一):
如:部门和员工, 一个部门有多个员工, 一个员工只能对应一个部门
使用时,在多的一方建立外键,指向一的一方的主键实现一对多关系
多对多:
如:学生和课程, 一个学生可以选择很多门课程, 一个课程也可以被很多学生选择
使用时需要一张中间表, 表中至少要有另外2张表的主键列, 用于关联两张表
作者: 宋加福    时间: 2019-5-13 21:56
1.having和where的区别?
where用在分组前的用来筛选不做分组的数据,having用在分组后来筛选所需要的数据。
where 不可以用聚合函数做判断,having可以使用聚合函数。
2.什么是主键,主键有什么作用?
非空且唯一,一张表只能有一个主键,表中记录的唯一标识。
用来唯一标识数据库中的每一条记录。
3.我们今天学了几种约束,主键必须要有哪几种约束?
四种约束  必须要有非空约束和唯一约束。
4.什么情况下会用到group by分组函数?
有相同的内容时
5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多(多对一):
如:部门和员工
分析:一个部门有多个员工,一个员工只能对应一个部门
多对多:
如:学生和课程
分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择
作者: Dream梦    时间: 2019-5-13 21:57
潘绍平:
1.having和where的区别?

where 子句 1) 对查询结果进行分组前, 将不符合 where 条件的行去掉, 即在分组之前过滤数据, 即先过滤
再分组。
2) where 后面不可以使用聚合函数
having 子句 1) having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
2) having 后面可以使用聚合函数

2.什么是主键,主键有什么作用?
主键:一个表中,只能有一个,不重复,非空就行。作用:用来唯一标识数据库中的每一条记录

3.我们今天学了几种约束,主键必须要有哪几种约束?
4种约束,分别是主键约束、非空约束、唯一约束、外键约束。主键必须有非空、和唯一约束。

4.什么情况下会用到group by分组函数?
在需要分组的字段,配合聚合函数使用。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多建表原则: 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键,
多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的
主键
作者: 黄孝贵    时间: 2019-5-13 21:57
1.having和where的区别?
①where 在分组之前进行限定,如果不满足条件,则不参与分组。
   having在分组之后进行限定,如果不满足结果,则不会被查询出来
②where 后不可以跟聚合函数,having可以进行聚合函数的判断。


2.什么是主键,主键有什么作用?
主键:是非空且唯一的字段,一张表只能有一个主键;
作用:是记录表的唯一标识;

3.我们今天学了几种约束,主键必须要有哪几种约束?
约束:① 主键约束:primary key
          ② 非空约束:not null
          ③ 唯一约束:unique
          ④ 外键约束:foreign key
主键包含非空约束和唯一约束

4.什么情况下会用到group by分组函数?
需要进行分组进行查看的时候,例如像班级男女的同学的考试成绩比较就要使用到分组函数

5.什么情况下会用到一对多,什么情况下会用到多对多?
像部门和员工这种,一个部门可以多个员工,一个员工只能属于一个部门存在一对多的关系的就会使用到一对多,
像学生和课程这种,一个学生一个选择多个课程,一个课程也可以被多个学生选择的,存在多对多的关系就会使用多对多;
作者: 余鹏程    时间: 2019-5-13 21:58
1.having和where的区别?
答:
where:在分页前使用,先筛选后在进行分页
having:在分页后使用,进行分页后的二次筛选
1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。

2.什么是主键,主键有什么作用?
答:
主键:唯一且非空,是表中记录唯一的标识
作用:跟外键配合使用拥有连接表与表的作用

3.我们今天学了几种约束,主键必须要有哪几种约束?
答:
学习了4种约束:主键、非空、唯一、外键
主键必须要两种约束:非空、唯一

4.什么情况下会用到group by分组函数?
答:
在需要对查询出来结果数据进行分组时,使用到group by分组函数。

5.什么情况下会用到一对多,什么情况下会用到多对多?
答:
一对多(1:n) 例如:班级和学生,部门和员工,客户和订单,分类和商品。
一对多建表原则: 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键。

多对多(m:n) 例如:老师和学生,学生和课程,用户和角色
多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。

作者: 方文彪    时间: 2019-5-21 21:53
    1.having和where的区别?

having
        是在分组后对数据进行判断(限定)【判断条件时可用聚合函数】,其结果不满足条件,
        则不会被查询出来。
where
        未分组前就进行判断(限定)【条件不可用聚合函数】其结果满足所要的条件,
        则进行分组,不满足反之。
     2.什么是主键,主键有什么作用?

        无非空且是唯一
        一张表只能有一个字段为主键
        主键就是表中记录的唯一标识
作用
        主键主要是用于其他表的外键关联,以及本记录的修改与删除。

     3.我们今天学了几种约束,主键必须要有哪几种约束?

        1. 主键约束:primary key
        2. 非空约束:not null
        3. 唯一约束:unique
        4. 外键约束:foreign key
主键
        主键必须要有非空约束,唯一约束。

4.什么情况下会用到group by分组函数?

        就是让经过计算的查询结果根据某一个或者多个字段分成一组一组(一行一行)的排列显示。

5.什么情况下会用到一对多,什么情况下会用到多对多?

一对多
        一对多:比如说一个班级有很多学生,可是这个班级只有一个班主任。
        在这个班级中随便找一个人,就会知道他们的班主任是谁;
        知道了这个班主任就会知道有哪几个学生。这里班主任和学生的关系就是一对多。
多对多
        多对多:比如说一个班级有很多学生,他们有语文课、数学课、英语课等很多课。
        一门课有很多人上,一个人上很多门课。这里学生和课程的关系就是多对多。




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