黑马程序员技术交流社区

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

作者: 厦门校区    时间: 2019-1-10 17:42
标题: 【厦门校区JavaEE5期-每日总结】MySQL约束
1.having和where的区别?
2.什么是主键,主键有什么作用?
3.我们今天学了几种约束,主键必须要有哪几种约束?
4.什么情况下会用到group by分组函数?
5.什么情况下会用到一对多,什么情况下会用到多对多?
作者: 陈彬    时间: 2019-1-10 19:06
1.having和where的区别?
  1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
  2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
   主键是一个表中数据的标示.一个表只能有一个字段为主键,且主键是非空唯一的.
3.我们今天学了几种约束,主键必须要有哪几种约束?
   非空约束:not null 规定表中的某一列不能为空值
   唯一约束:unique   规定表中的某一列的值是不能重复的是唯一的
   外键约束:foreign key   让两个表产生关系,从而保证数据的正确性
   主键约束:primary key   主键有非空约束和唯一约束,主键不能为空,不能重复.
4.什么情况下会用到group by分组函数?
   如果需要用到分组查询的时候,可以使用group by分组函数
5.什么情况下会用到一对多,什么情况下会用到多对多?
    一对多,在学校上课的时候,一个班级对应多个学生,多个学生属于一个班级这就是属于一对多
    多对多,在大学时的选课,一个学生可以选择很多课程,一个课程可以被多个学生选择.



作者: lj478360767    时间: 2019-1-10 20:16

1.having和where的区别?
where子句: 在分组之前过滤数据,即先过滤再分组,where 后面不可以使用聚合函数;
having子句:在分组之后过滤数据,即先分组再过滤,having 后面可以使用聚合函数.

2.什么是主键,主键有什么作用?
主键是给数据库和程序使用的,不是给最终的客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
主键的作用是用来唯一标识数据库中的每一条记录.

3.我们今天学了几种约束,主键必须要有哪几种约束?
学了非空约束 NOT NULL,唯一约束  UNIQUE, NULL值可以重复, 主键约束 PRIMARY KEY, 外键约束FOREIGN KEY;
主键必须要有唯一和非空两种约束.

4.什么情况下会用到group by分组函数?
分组的目的就是为了统计,一般分组会跟聚合函数一起使用。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多 例如:班级和学生,部门和员工,客户和订单,分类和商品;一对多建表原则: 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键
多对多 例如:老师和学生,学生和课程,用户和角色; 多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的
主键。
作者: 赵烈刚    时间: 2019-1-10 20:28
1.having和where的区别?

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

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

主键是不能为空而且是唯一的;
作用:1.一张表只能有一个字段为主键2.主键是表中记录的唯一标识

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

四种,主键约束,唯一约束,非空约束,外键约束;
主键必须要有唯一约束和非空约束

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

在限定条件下进行分组查询的时候会用到groupby分组函数;

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

如:班级(一)跟学生(多)就是一对多的关系;
如:课程(多)跟学生(多)就是多对多的关系;

作者: 陈辉阳    时间: 2019-1-10 20:51
1 区别
having 和where区别

1:作用位置 where在分组前进行限定,having在分组后限定

2:where后面不可以跟聚合函数,having后面可以

什么是主键  
主键特点 1  非空
2 唯一    作用: 他是表的一个标识,标识,标识

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

表中数据的约束

对表中的数据进行限定,保证数据的正确性,有效性,完整性

主键约束:primary key(同时具有非空约束和唯一约束)

一张表只能有一个字段为主键

主键就是表中记录的唯一标识



- 表创建后,不能通过modify来删掉主键约束   而是通过drop primary key,删除主键约束

主键自动增长

使用auto_increment 完成主键值的自动增长

create table stu(id int primary key auto_increment,name varchar(20))

**非空约束:not null**

1 创建表时添加:create table stu (id int,name varchar(20) not null);

2 表创建完之后添加

alter table stu modify name varchar(20) not null;



唯一约束:unique

注意:唯一约束可以有多个null值

1 创建表时添加:create table stu (id int,name varchar(20) unique);

2 表创建完之后添加

alter table stu modify name varchar(20) unique;

- 表创建后,不能通过modify来删掉唯一约束unique   而是通过drop index +键,删除唯一约束的键

外键约束:foreign key

语法 :create table stu(

        ....

外键列

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

)

最后 今日全部笔记

DQL 查询语句

查询后排序

语法 order by   

ASC 升序

DESC 降序

select *from student order by math 不写默认升序

聚合函数

1: count 统计列的个数

select count(id)from student;

聚合函数排除非空,即排除null;统计个数会影响  解决方式:

select count (ifnull(id,0))from student;

2: max

select max(id)from student;

3: min

4: sum

5: AVG

DQL 分组查询

语法: group by +分组字段;

注意:1 分组之后查询的字段:可分组字段,聚合函数

select sex avg(math) from student group by sex;

对分组添加where 条件

select sex avg(math) from student where math>70  group by sex;

对分组之后再进行筛选过滤  关键字  Having

select sex avg(math) from student where math>70  group by sex having count(id)>2;

having 和where区别

1:作用位置 where在分组前进行限定,having在分组后限定

2:where后面不可以跟聚合函数,having后面可以



分页查询

语法:limit 开始的索引,每页显示的条数;

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

limit 语法是MySQL数据库的方言;

select*from student limit 0,3;-- 第1页(索引一般从0开始)

select*from student limit 3,3;-- 第2页(索引一般从0开始)



表中数据的约束

对表中的数据进行限定,保证数据的正确性,有效性,完整性

主键约束:primary key(同时具有非空约束和唯一约束)

一张表只能有一个字段为主键

主键就是表中记录的唯一标识



- 表创建后,不能通过modify来删掉主键约束   而是通过drop primary key,删除主键约束

主键自动增长

使用auto_increment 完成主键值的自动增长

create table stu(id int primary key auto_increment,name varchar(20))

**非空约束:not null**

1 创建表时添加:create table stu (id int,name varchar(20) not null);

2 表创建完之后添加

alter table stu modify name varchar(20) not null;



唯一约束:unique

注意:唯一约束可以有多个null值

1 创建表时添加:create table stu (id int,name varchar(20) unique);

2 表创建完之后添加

alter table stu modify name varchar(20) unique;

- 表创建后,不能通过modify来删掉唯一约束unique   而是通过drop index +键,删除唯一约束的键

外键约束:foreign key

语法 :create table stu(

        ....

外键列

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

)





数据库的设计

- 1多表之间的关系

一对一(了解,一张表即可,无需拆成俩张表) :如人和身份证的关系;一个人只有一个身份证,一个身份证只能表示一个人

实现方式:可以任意一方添加唯一外键指向另一方的主键,外键的创建需要加唯一约束

一对多(多对一):如部分和员工,分析:一个部分有多个员工,一个员工只能对应一个部分

实现方式:在多的一方建立外键,指向1的一方的主键;



多对多:如学生和课程,分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择

实现方式:多对多的关系实现需要借助第三张中间表,中间表至少包含俩个字段,这俩个字段作为外键分别指向俩张表的主键

其实就是俩个一对多的组合;



数据库设计的范式

概念:设计数据库是遵循的规范













作者: zhuyiming    时间: 2019-1-10 20:53

1.having和where的区别?
1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
---------------------------------------------------------------------------
2.什么是主键,主键有什么作用?
对表中的数据进行限定,保证数据的正确性、有效性和完整性。
---------------------------------------------------------------------------
3.我们今天学了几种约束,主键必须要有哪几种约束?
1. 主键约束:primary key
2. 非空约束:not null
3. 唯一约束:unique
4. 外键约束:foreign key
---------------------------------------------------------------------------
主键必须要有哪几种约束?
1. 含义:非空且唯一
2. 一张表只能有一个字段为主键
3. 主键就是表中记录的唯一标识
---------------------------------------------------------------------------
4.什么情况下会用到group by分组函数?
在限定条件下可以使用大量 group by 分组函数
---------------------------------------------------------------------------
5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:如 部门和员工, 部门可以有很多员工,一个员工只能 是一个部门
多对多:如 学生和课程表  学生可以选择多个课程,  多个课程可以被多个学生选择
作者: 陈佳鹏    时间: 2019-1-10 21:16
1.where用在分组查询之前进行条件判断,没通过判断则不会进入分组,having用在分组后,没通过判断则不会在分组中显示;where后面不能跟聚合函数,having可以。
2.非空且唯一则为主键,主键是表中记录的唯一标识。
3.非空约束,唯一约束,主键约束,外键约束,主键必须有非空和唯一约束。
4.需要进行分组统计的时候就需要用到分组函数。
5.一对多:A中的一个实体可以与B中的任意数目(零个或多个)实体相关联,而B中一个实体至多与A中一个实体相关联。A中的一个实体可以与B中的任意数目(零个或多个)实体相关联,B中的一个实体可以与A中的任意数目(零个或多个)实体相关联
作者: 林文悦    时间: 2019-1-10 21:19
1.having和where的区别?
where是在分组前进行判断,通过判断则进入分组;
having是在分组后如果不满足结果则不会被显示出来;
where 后不可以跟聚合函数,having可以进行聚合函数的判断。

2.什么是主键,主键有什么作用?
被primary key 约束的是主键;
作用:被约束的则不可以为null,也不可以是重复的;

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

4.什么情况下会用到group by分组函数?
对数据进行分组的时候会用到,比如性别分成男女等;

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:比如部门和员工
多对多:比如学生选课的时候,学生可以选多门课,每门课也可以被多个学生选到;
作者: Wujainwei    时间: 2019-1-10 21:29
1.having和where的区别?
1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
含义:非空且唯一;一张表只能有一个字段为主键;主键就是表中记录的唯一标识
3.我们今天学了几种约束,主键必须要有哪几种约束?
四种.  主键有2种,非空且唯一
4.什么情况下会用到group by分组函数?
分组的目的就是为了统计,一般分组会跟聚合函数一起使用。
5.什么情况下会用到一对多,什么情况下会用到多对多?
多个元素同时拥有一个相同的元素时会用到一对多
多个元素同时拥有多个相同的元素时会用到多对多
作者: 赖熙蒙    时间: 2019-1-10 21:33
1.having和where的区别?
答:where用在分组前,如果判断不通过则不会参与分组,不能对聚合函数进行判断,
having用在分组后,如果判断不通过则不会被查询出来,可以对聚合函数进行判断。

2.什么是主键,主键有什么作用?
答:主键是表中记录的唯一标识。主键能够对表进行约束,一张表只能有一个主键,非空且唯一。

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

4.什么情况下会用到group by分组函数?
答:在对表中数据进行查询时会用到group by分组函数,通过group by分组函数能够使查询的结果更加清晰明了。

5.什么情况下会用到一对多,什么情况下会用到多对多?
答:在一个列中元素被另一个列中的多个元素所对应的情况下会用到一对多(例如:部门对于员工)。
在两个列中的元素能够相互对应另一个列中多个元素的情况下会用到多对多(例如:课程对于学生)。







作者: Chidori    时间: 2019-1-10 21:33
1.having和where的区别?
where 在分组之前限定,如果不满足条件则不参与分组,后面不能跟聚合函数
having在分组之后限定,如不满足条件则不会被查询出来,后面可以跟聚合函数
2.什么是主键,主键有什么作用?
就是表中记录的唯一标示
作用:
非空且唯一
一张表只能有一个主键
3.我们今天学了几种束,主键必须要有哪几种约束?
学了
主键约束  primary key  主键必须要有非空和唯一两种约束
非空约束:not null
唯一约束:unique
外键约束:foreign key
4.什么情况下会用到group by分组函数?
需要按照某种要求对数据进行排列显示的时候
5.什么情况下会用到一对多,什么情况下会用到多对多?
当一个表中一个属性能够对应多个元素,而一个元素只能对应表中的一个数属性时,就使用一对多
当一个表中一个属性能够对应多个元素,并且一个元素也能对应多个属性时,就使用多对多





作者: 吴少华    时间: 2019-1-10 21:40
1.having和where的区别?
having在分组后可以进行聚合函数的判断,不满足条件不显示查询出来。
where在分组前进行判断,不满足条件不参与分组,不能写在聚合函数后面。
2.什么是主键,主键有什么作用?
不能为空,不能重复的数据且唯一的数据列表,是数据库唯一标识就是主键
作用是用来标识数据库每一条信息
3.我们今天学了几种约束,主键必须要有哪几种约束?
1.非空约束
2.唯一约束
3.主键约束
4.外键约束
主键必须包含唯一约束和非空约束。
4.什么情况下会用到group by分组函数?
需要将数据库的信息按照某种分类来显示数据信息,是信息更加明了
5.什么情况下会用到一对多,什么情况下会用到多对多?
单表的缺陷数据冗余,增删麻烦,因此用一对多,能有效解决单表的缺陷问题
当俩个数据表可以相互多选择,一对多的表就解决不了,因此建立多对多能有效解决。
作者: 陈基林    时间: 2019-1-10 21:43
1.having和where的区别?区别的有1、where是在分组之前进行限定,如果不满足条件则不能参加分组;having是在分组之后进行限定,如果不满足条件,则不会被查询出来。
              2、where后面不能跟聚合函数,having后面可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
关键字primary key,被修饰的列中的数据非空且唯一。主键的作用是用来唯一标识数据库中的每一条记录。
3.我们今天学了几种约束,主键必须要有哪几种约束?
今天学了4中约束,分别是非空约束、唯一约束、主键约束和外键约束。主键必须要有非空约束和唯一约束。
4.什么情况下会用到group by分组函数?
当一个列中的数据重复度比较高的时候可以使用分组函数,如果选择数据重复度很低的列这样分组数据太分散就没什么统计的意义。
5.什么情况下会用到一对多,什么情况下会用到多对多?

例如部门和员工这种情况就会用到一对多,因为一个部门里面可以有很多个员工,而这些员工都是在这个部门中,就是一对多。
如果是学生和课程这种情况就会用到多对多,一个学生可以上很多门课程,一门课程也会有很多个学生学习,就是多对多。

作者: 苏志祥    时间: 2019-1-10 21:45

1.having和where的区别?
having在分组之后,可以接聚合函数;
where在分组之前,不能接聚合函数

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

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

4.什么情况下会用到group by分组函数?
对表格中的数据进行分组分析的时候使用group by .

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:一个事物对应多个事物,如班级与学生,一个学生对应一个班级,一个班级有多个学生
多对多:多事物对应多个事物,学生与选课,一个学生可以选择多个课程,一个课程可被多个学生选择
作者: 董志超Eric    时间: 2019-1-10 21:46
1.having和where的区别?
where用于查询条件的限制,查询范围是where的条件范围。
位置在group by前。where 后不可以跟聚合函数。
having用于查询结果显示的限制,满足having条件的结果才能显示。
位置在group by后。having可以进行聚合函数的判断。

2.什么是主键,主键有什么作用?
主键是表中记录一行数据的唯一标识。
主键的作用是为了方便快速找到对应的一行数据。
另外,在多表之间,需要通过主键相互关联、限制。

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

4.什么情况下会用到group by分组函数?
需要使用到聚合函数时会配合group by。
GROUP BY 将分组字段结果中相同内容作为一组,并且返回每组的第一条数据,所以单独分组没什么用处。
单独使用没有意义。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:员工和部门  球员和足球队
多对多:学生和课程  乘客和公交车站
作者: 吴洪标    时间: 2019-1-10 21:46
1.having和where的区别?
1)where写在group by之前,只有满足where条件的记录才参与分组,而having则是写在group by之后,在分组完成之后进行筛选;
2)where 后面跟判断条件不能是聚合函数,而having后面可以跟聚合函数。

2.什么是主键,主键有什么作用?
主键是指用primary key关键字约束的字段,非空且唯一;主键主要用于标识记录,即每一条记录都有各自独有的主键,可以依此和其他记录区分开。

3.我们今天学了几种约束,主键必须要有哪几种约束?
1)非空约束:not null;
2)唯一约束:unique;
3)主键约束:primary key;
4)外键约束:foreign key;
主键必须用primary key约束,此时主键非空且唯一。

4.什么情况下会用到group by分组函数?
当需要对表中的记录进行分组查询时,会用到分组函数,例如要查询班上男女同学的平均分时,以性别为分组依据。

5.什么情况下会用到一对多,什么情况下会用到多对多?
当主表的一条记录对应从表的多条记录,而从表的一条记录只对应主表的一条记录时,会用到一对多。如一个部门有多个员工,而一个员工只属于一个部门;
当主表的一条记录对应从表的多条记录,而从表的一条记录也对应主表的多条记录时,会用到多对多。如一门课程可以被多位学生选择,而一位学生也可以选择多门课程。



作者: 杨馥榕    时间: 2019-1-10 21:47
1.having和where的区别?
答:<1>.where在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
<2>.where后不可以跟聚合函数,having可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
答;主键就是表中记录的唯一标识,让一张表只能有一个字段为主键,且非空且唯一。
3.我们今天学了几种约束,主键必须要有哪几种约束?
答:4种约束,主键必须有非空约束和唯一约束。
4.什么情况下会用到group by分组函数?
答:需要把数据规划到一起的时候需要分组函数
5.什么情况下会用到一对多,什么情况下会用到多对多?
答:一个表被多个表连接的时候可以用一对多,
多表和多多个表连接的时候可以用多对多。


作者: 续扬    时间: 2019-1-10 21:49
1.having和where的区别?
having是先运行之后限定,如果条件不符合不参与分组
where是先限定在运行如果条件不符合不显示结果
having后不可以有聚合函数,where可以
2.什么是主键,主键有什么作用?
非空的列,作为每一行的关键字,不可以重复也不可以为空,保证实体的完整性,加快数据库的操作速度
3.我们今天学了几种约束,主键必须要有哪几种约束?
非空约束:对数据进行限定保证数据的完整性
唯一约束:对数据进行限定保证数据的唯一性
主键约束:非空且唯一
外键约束:让表与表之间产生联系确保数据正确性
4.什么情况下会用到group by分组函数?
配合聚合函数使用,查询分组后的字段
5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:比如一个部门里有多个员工,在多的一方建立外键,指向一的一方主键
多对多:在学生选课时选好几门课,需要第三张表实现,第三章表最少包含两个字段作为第三个表的外链连向另外两张的主键


作者: 许晓明    时间: 2019-1-10 21:49

1.having和where的区别?
答:having关键字放在group by的后面,用于对分组后的数据再次进行筛选,可以使用聚合函数;
where关键字放在group by的前面,对数据先进行筛选,然后再进行分组,不能使用聚合函数;

2.什么是主键,主键有什么作用?
答:主键是一条记录中的唯一标识。
主键的作用是确保记录的唯一性,因为主键的唯一性,所以通过主键寻找到的记录均是唯一的;


3.我们今天学了几种约束,主键必须要有哪几种约束?
答:学了4种约束,分别为主键约束,非空约束,唯一约束,外键约束;
主键约束必须包括非空约束和唯一约束,这就能保证主键的唯一性和非空性;

4.什么情况下会用到group by分组函数?
答:当需要查看表中某一字段的各种状态对应的记录情况的时候,使用分组函数group by;

5.什么情况下会用到一对多,什么情况下会用到多对多?
答:一对多 多用单一对象对应多个对象,如部门和员工,班级和学生等从属关系;
多对多 多用于 多个对象组中的对象均可以实现1对多的情况,如学生和选修课,项目和程序员等两者可以相互选择的关系;
作者: 苏阿合    时间: 2019-1-10 21:50
1.having和where的区别?
having :对分组完的数据进行过滤,后面可以跟集合函数和分页排序
where:是对数据进行分组之前的过滤,将满足条件的数据进行分组,后面不能跟集合函数

2.什么是主键,主键有什么作用?
主键:是表中记录数据的唯一标识,一张表只能有一个主键,该列数据要非空且不重复
作用:
(1)可以根据主键对数据进行筛选
(2)可以通过操作各表的主键,让多表之间产生关系

3.我们今天学了几种约束,主键必须要有哪几种约束?
四种约束:
(1)非空约束:存储的数据不能为null
(2)唯一约束:数据不能重复,但可以存储多个null值  
(3)主键约束:数据不能为null且不能重复
(4)外键约束:让表与表之间产生关系,也可以将表中重复的数据分离出去,去除数据的冗余
主键必须要有:非空约束和唯一约束

4.什么情况下会用到group by分组函数?
当要统计表中相同内容的数据,可以将表中不同的数据进行分离,方便统计

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:当A表中一个数据可以对应B表中的多个数据,B表中的一个数据只能对应A表中的一个数据时,会用到一对多。例如:部门和员工的关系:,一个部门可以有多个员工,一个员工只能属于一个部门。
多对多:当A表中一个数据可以对应B表中的多个数据,B表中的一个数据也可以对应A表中的多个数据。例如:学生和课程:一个学生可以选择多个课程,一个课程可以被多个学生选择。

作者: 艾卡西亚的惊喜    时间: 2019-1-10 21:50
1.having和where的区别?

答:        ①:where在分组之前进行限定,如果不满足条件,则不参与分组.having在分组之后进行限定,如果不满足结果,则不会被查询出来.
        ②:where后不可以跟聚合函数,having可以进行聚合函数的判断.
2.什么是主键,主键有什么作用?

答:        ①:主键是非空且唯一的;一张表只能有一个字段为主键;也是表中记录的唯一标识.
        ②:主键作为表中的唯一标识,它主要作用于其他表的外键关联,以及本记录的修改和删除.
3.我们今天学了几种约束,主键必须要有哪几种约束?

答:今日学到①:非空约束(not null) ②:唯一约束(unique) ③:主键约束:(primary key) ④:外键约束:(foreign key);
        主键必须要有的约束有:主键约束:要求主键列数据唯一,并且不允许为空。唯一约束:要求该列唯一,允许为空,但只能出现一个空值。检查约束:某列取值范围限制、格式限制等。默认约束:某列的默认值。外键约束:用于在两表之间建立关系,需要指定引用主表的哪一列。
4.什么情况下会用到group by分组函数?

答:在这可以举一个栗子,一群人排队上厕所就要分成两队,分别上男厕或女厕通过性别的字段来进行分组.
5.什么情况下会用到一对多,什么情况下会用到多对多?

答:①:举个栗子,在公司上班有一个销售部,销售部可以有很多员工,但是公司只能有一个销售部,不能存在两个相同的销售部,这时销售部就可以用到一对多.
②:再举一个栗子,在一所学校里设有很多门课程,学生们能选择学很多课程,而一门课程也会有很多学生选择.这种情况就能用到多对多.
生活中会有很多案例,相似平时多留意一些都可以结合课程中的语法进行理解.

玉树临风的林少伟!
作者: 李灵杰    时间: 2019-1-10 21:52

1.having和where的区别?
        1.
        where在分组之前进行条件判断        满足条件进入参与分组 不满足不能参与
        having用在分组之后进行限定        不满足则不会出现在结果中
        2.
        where后不跟聚合函数
        having后可以跟聚合函数的判断
       
2.什么是主键,主键有什么作用?
        1. 主键约束:primary key
        主键是非空且唯一的
        一个表中只能有一个键作为表的主键       
        表的标识符

3.我们今天学了几种约束,主键必须要有哪几种约束?
        四种约束
        主键需要两种
                主键约束:primary_key
                非空约束
                自增约束        auto_increment
               
4.什么情况下会用到group by分组函数?
        需要对结果进行排序
       
5.什么情况下会用到一对多,什么情况下会用到多对多?
        一对多:        一个多数据的表其中的字段指向一个固定的表
        多对多:        两个表时间数据关联多


作者: Java中的莫Q哇啦    时间: 2019-1-10 21:56

1.having和where的区别?
:where 是在分组查询之前进行的条件筛选,having是在分组查询之后对分组进行的条件筛选。
2.什么是主键,主键有什么作用?
:主键是唯一不可重复且不为null的键,起到防止数据重复和为空的情况发生。
3.我们今天学了几种约束,主键必须要有哪几种约束?
:主键必须有两种约束,一个是不可以为null空值,一个是数据的唯一性约束。
4.什么情况下会用到group by分组函数?
:想要对数据进行统计分析查看的时候,就可以使用 group by 分组函数进行数据的统计分析。
5.什么情况下会用到一对多,什么情况下会用到多对多?
: 当一组数据的每一个数据仅被另一组数据的多个数据引用的时候,就要用到一对多。当两组数据的每个数据可以相互的被多个数据引用的时候,就要用到多对多。

--------------黄成成。
作者: 陈益源    时间: 2019-1-10 21:56
1.having和where的区别?
having :分组后使用,筛选出满足条件的组,即先分组再过滤;having后可以跟聚合函数
where :分组前使用,去掉不符合where条件的数据,即先过滤再分组;where后不可以跟聚合函数

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

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

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

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多(1:n) 例如:班级和学生,部门和员工,客户和订单,分类和商品 一对多建表原则: 在从表(多方)创建一个字段,字段作为外键指向主表(一方)的主键 ;
多对多(m:n) 例如:老师和学生,学生和课程,用户和角色 多对多关系建表原则: 需要创建第三张表,中间表中至少两个字段,这两个字段分别作为外键指向各自一方的主键。

作者: 王宇鹏    时间: 2019-1-10 21:59
1.having和where的区别?
1.where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
主键是非空且唯一的一列,用来表识表中的数据
3.我们今天学了几种约束,主键必须要有哪几种约束?
非空约束、主键约束、唯一约束、外键约束,主键必须由非空约束和唯一约束
4.什么情况下会用到group by分组函数?
要对一列数据进行统计计算时
5.什么情况下会用到一对多,什么情况下会用到多对多?
在分类时,一表中的某一数据值只属于另一表中的一类
数据有多种归属情况时用多对多。
作者: 骆颖权    时间: 2019-1-10 23:15
1.having和where的区别?
        where子句对查询结果进行分组前,将不符合 where 条件的行去掉, 即在分组之前过滤数据, 即先过滤再分组。
        having子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
        where 后面不可以使用聚合函数;having 后面可以使用聚合函数
2.什么是主键,主键有什么作用?
        主键是指在数据库的表中能唯一标识一条记录的最小的字段集合。
        主键用来唯一标识数据库中的每一条记录
3.我们今天学了几种约束,主键必须要有哪几种约束?
        主键约束 primary key
        唯一约束 unique
        非空约束 not null
        外键约束 foreign key
        主键约束必须有唯一约束和非空约束。
4.什么情况下会用到group by分组函数?
        当我们要将分组字段结果中相同内容作为一组时会用group by分组函数。
5.什么情况下会用到一对多,什么情况下会用到多对多?
        当一张表的一个数据对应另一张表的多个数据时,就可以用到一对多。例如部门和员工,一个部门有很多个员工,而一个员工只属于一个部门。
        当一张表的多个数据能都和另一张表的多个数据产生关联,就可以用到多对多,例如学生选课表和 学生表,一门课程可以有多个学生选择,一个学生选择多门课程。



作者: 杨鑫棋    时间: 2019-1-11 08:49

1.having和where的区别?

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

主键是表中的唯一标识,作用就是用来唯一标识数据库中每一条记录。
3.我们今天学了几种约束,主键必须要有哪几种约束?
4种约束,分别是:非空约束、唯一约束、主键约束、外键约束。

主键必须要有唯一约束和非空约束。
4.什么情况下会用到group by分组函数?

分组的目的是为了统计,所以分组的使用正常会跟聚合函数一起使用。
5.什么情况下会用到一对多,什么情况下会用到多对多?


存储员工和部门之间关系的数据时会用到一对多,存储学生表和学生选课表时会用到多对多。

作者: 黄毅    时间: 2019-1-11 11:15

1.having和where的区别?
where是先进行限定,满足条件后进行分组;having是先进行分组,然后进行限定
where后面不可写聚合函数,having后面可以写聚合函数
2.什么是主键,主键有什么作用?
非空且唯一,一张表只能有一个主键,主键是一张表的唯一标识
3.我们今天学了几种约束,主键必须要有哪几种约束?
主键约束,非空约束,唯一约束,外键约束
主键必须有非空和唯一约束
4.什么情况下会用到group by分组函数?
当对数据进行分组查询时使用group by
5.什么情况下会用到一对多,什么情况下会用到多对多?
两张关联表,例如: 部门与员工的关系,这是用一对多;
两张关联表,例如:学生和课程,使用多对多
作者: 黄嘉宏    时间: 2019-1-11 20:31
1.having和where的区别?
having先分组再过滤,后面可以使用聚合函数。
where先过滤再分组,后面不能使用聚合函数。
2.什么是主键,主键有什么作用?
用来唯一标识数据库中的每一条记录,对表中的数据进行限制。
3.我们今天学了几种约束,主键必须要有哪几种约束?
4种约束,主键约束primary key,唯一约束unique,非空约束not null,外键约束foreign key;主键必须要有非空约束和唯一约束。
4.什么情况下会用到group by分组函数?
需要对已分组的数据进行统计时会用到group by分组函数。
5.什么情况下会用到一对多,什么情况下会用到多对多?
部门对员工,用到一对多,一个部门里有多个员工。
学生对课程,用到多对多,学生可以选择多门课程学习,一门课程可以有多名学生上课。





作者: 洪烁铭    时间: 2019-1-12 21:58

1.having和where的区别?
having可以写聚合函数;having语句是筛选满足条件的分组,是对分组后的数据进行过滤。
where不能写聚合函数;在分组之前进行数据过滤。

2.什么是主键,主键有什么作用?
主键具有唯一且非空的特性;一张表只能有一个主键;
用以作为表的唯一标识;
通过主键就可以被认出来,被其他表通过外键进行连接,从而构建多表之间的关系。


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

4.什么情况下会用到group by分组函数?
分组函数和聚合函数一起使用,把分组后的结果用聚合函数进行统计。


5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:当A表中一个数据可以对应B表中的多个数据,B表中的一个数据只能对应A表中的一个数据时,会用到一对多。例如:部门和员工的关系:,一个部门可以有多个员工,一个员工只能属于一个部门。
多对多:当A表中一个数据可以对应B表中的多个数据,B表中的一个数据也可以对应A表中的多个数据。例如:学生和课程:一个学生可以选择多个课程,一个课程可以被多个学生选择。
作者: 周章强    时间: 2019-1-14 21:42
1.having和where的区别?
where子句: 在分组之前过滤数据,即先过滤再分组,where 后面不可以使用聚合函数;
having子句:在分组之后过滤数据,即先分组再过滤,having 后面可以使用聚合函数.

2.什么是主键,主键有什么作用?
主键是表中记录一行数据的唯一标识。
主键的作用是为了方便快速找到对应的一行数据。
另外,在多表之间,需要通过主键相互关联、限制。

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

4.什么情况下会用到group by分组函数?
当需要对表中的记录进行分组查询时,会用到分组函数。

5.什么情况下会用到一对多,什么情况下会用到多对多?
一对多:当A表中一个数据可以对应B表中的多个数据,B表中的一个数据只能对应A表中的一个数据时,会用到一对多
多对多:当A表中一个数据可以对应B表中的多个数据,B表中的一个数据也可以对应A表中的多个数据。
作者: ab8846254    时间: 2019-1-16 21:44

1.having和where的区别?
答:1. where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来
      2. where 后不可以跟聚合函数,having可以进行聚合函数的判断。
2.什么是主键,主键有什么作用?
答:主键一般为表中ID列,为数据不重复的列,可以准确定位我们的某一条数据,为增删改查提供判断条件
3.我们今天学了几种约束,主键必须要有哪几种约束?
答:        1. 主键约束:
                1. :非空且唯一
                2. 一张表只能有一个字段为主键
                3. 主键就是表中记录的唯一标识
        2. 非空约束:
              1.设定了非空约束的话这列的数据不能为空
        3. 唯一约束:
                1.设定了唯一约束的话,该列数据不能重复
        4. 外键约束:
               1.让一张表的外键和另一张表的主键产生一个连接关系
        5.主键必须要 非空约束,唯一约束。
4.什么情况下会用到group by分组函数?
答:查询后需要对查询的数据进行分组查看的时候需要用到分组函数,如分数筛选,男女平均分数那个高
5.什么情况下会用到一对多,什么情况下会用到多对多?
答:分类表和商品表 一对多;
       学生表和选课变 多对多;
       老师和学生  一对多。
        
作者: 李柏刚    时间: 2019-1-18 15:06
1.having和where的区别?
where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来。
2.什么是主键,主键有什么作用?
主键就是表中记录的唯一标识,可以设置主键对应的外键连接,将多个表串联在一起,参与数据的存储和查询。
3.我们今天学了几种约束,主键必须要有哪几种约束?
1. 主键约束:primary key
2. 非空约束:not null
3. 唯一约束:unique
4. 外键约束:foreign key
4.什么情况下会用到group by分组函数?
当我们需要让表中的数据 按照指定列的种类,进行计算展示的时候就需要用到分组函数。
5.什么情况下会用到一对多,什么情况下会用到多对多
一个表的主键链接了多个表格的外键,就像一个部门有多个员工,一个员工只能对应一个部门。
多对多关系实现需要借助第三张中间表。中间表至少包含两个字段,这两个字段作为第三张表的外键,分别指向两张表的主键,就像学生和课程





作者: 魏政    时间: 2019-4-10 21:41
1.having和where的区别?
where是分组前置条件, where后边不可以写聚合函数
having是分组后置条件,having后的条件可以写 聚合函数

2.limit的用法是什么?需要注意什么?
如果一张表中数据非常多 ,将数据进行分页获取
             LIMIT 参数1,参数2
            参数1 : 开始索引值(就是要被展示数据的索引 索引从0开始)
            参数2 : 每页显示的数据个数
            开始的索引 = (当前的页码 - 1) * 每页显示的条数
注意:limit 是一个MySQL"方言"

3.我们今天学了几种约束,主键必须要有哪几种约束?
非空约束 not null:某一列的值不能为null
唯一约束 unique:某一列的值不能重复
主键约束 primary key :
             a)非空且唯一   
             b)一张表只能有一个字段为主键  
             c)主键就是表中记录的唯一标识   
外键约束 foreign key:让表于表产生关系,从而保证数据的正确性。

5.什么情况下会用到一对多,什么情况下会用到多对多?
当主表的一条记录对应从表的多条记录,而从表的一条记录只对应主表的一条记录时,会用到一对多。如一个部门有多个员工,而一个员工只属于一个部门;
当主表的一条记录对应从表的多条记录,而从表的一条记录也对应主表的多条记录时,会用到多对多。如一门课程可以被多位学生选择,而一位学生也可以选择多门课程。




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