mysql 数据库 回顾

首先 ,mysql数据库是一个关系型数据库 ,它可以连表完成增删改查的一系列操作。

连表操作是根据第一个表的id 和第二个表的 c_id 来互相关联。

在连表的操作中,分别有  一对一 , 一对多, 多对多操作。

代码例子:

selet news.*,cate.name from cate inner join news on cate.id = news.cid

不仅有连表操作,还有分组。

分组关键词:group by

分组还可以根据一些聚合函数一起使用。(常见的一些聚合函数:count(总的个数),max(最大值),min(最小值),sum(总和),avg(平均值))

例子:查询王老师班里男生或女生总人数大于1的记录

扫描二维码关注公众号,回复: 4841073 查看本文章

select student.gender,count(student.id),group_concat(student.name) from student left join  teacher on student.teacher_id=teacher.id where teacher.name="王老师" group by student.gender having

count(student.id)>1

 

还有一些 排序  取值的一些重点

排序:关键词 order by 。 asc 是正序  ,desc 是倒序。

取值: 关键词 limit (从第几个值取,取值的个数)

 

另外最重点的两项就是:索引,和 外键。

索引根据 index key 来执行。

外键:关键词  foreign。 

 

外键的用途是确保数据的完整性。它通常包括以下几种: 

1、实体完整性,确保每个实体是唯一的(通过主键来实施) 

2、域完整性,确保属性值只从一套特定可选的集合里选择 

3、关联完整性,确保每个外键或是NULL(如果允许的话)或含有与相关主键值相配的值。

约束的主要目的是控制存储在外键表中的数据,但它还可以控制对主键表中数据的修改。例如,如果在 publishers 表中删除一个出版商,而这个出版商的 ID 在 titles 表中记录书的信息时使用了。

则这两个表之间关联的完整性将被破坏,titles 表中该出版商的书籍因为与 publishers 表中的数据没有链接而变得孤立了。

FOREIGN KEY 约束防止这种情况的发生。如果主键表中数据的更改使之与外键表中数据的链接失效,则这种更改是不能实现的,从而确保了引用完整性。

如果试图删除主键表中的行或更改主键值,而该主键值与另一个表的 FOREIGN KEY 约束值相关,则该操作不可实现。

若要成功更改或删除 FOREIGN KEY 约束的行,可以先在外键表中删除外键数据或更改外键数据,然后将外键链接到不同的主键数据上去。 

 

 

猜你喜欢

转载自www.cnblogs.com/lyp0626/p/10243368.html