zoukankan      html  css  js  c++  java
  • 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的记录

    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 约束的行,可以先在外键表中删除外键数据或更改外键数据,然后将外键链接到不同的主键数据上去。 

     

     

  • 相关阅读:
    (3)C++复合类型
    (2)C++基本类型
    (7)js调试
    Oracle语句优先级
    oracle排序问题
    jsp四大对象
    postgresql时间加减计算
    全角空格,跟汉字一样宽
    bzoj1433 [ZJOI2009]假期的宿舍 最大流
    BZOJ 1264 AHOI2006 基因匹配Match 动态规划+树状数组
  • 原文地址:https://www.cnblogs.com/lyp0626/p/10243368.html
Copyright © 2011-2022 走看看