• 数据约束及多表查询


    数据约束

      默认值  

        当用户对使用默认值的字段不插入值的时候,就使用默认值,默认值的字段允许为null。

      非空

        gender VARCHAR(2) NOT NULL -- 非空

        非空字段必须赋值且非空字符不能插入null

      唯一

        id INT UNIQUE, -- 唯一

        对字段的值不能重复可重复插入null,类似主键 非空唯一 NOT NULL UNIQUE

      自增长

        sid INT PRIMARY KEY AUTO_INCREMENT,         

         不能插入null,可以不赋值,自动递增

      零填充

        sid INT(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT,

        如图:

          

       主键

        id INT PRIMARY KEY, -- 主键

        非空+唯一

      外键

        CONSTRAINT emlyee_dept_fk FOREIGN KEY(deptId) REFERENCES dept(id)

               --                     外键名称            外键                              参考表(参考字段)

        注意事项:

            添加数据: 先添加主表,再添加副表

            修改数据: 先修改副表,再修改主表

            删除数据: 先删除副表,再删除主表

    多表查询

      交叉连接:

        SELECT * FROM empp JOIN dept

        将两个表不设定任何条件的连接起来

      内连接:

        SELECT * FROM empp JOIN dept ON empp.`did`=dept.`did`

        找到两个表中相同字段后按照值对应连接起来

      左[外]连接:

        SELECT * FROM empp LEFT JOIN dept ON empp.`did`=dept.`did`

        内连接的结果基础上,加上左边表中所有不符合连接条件的数据,相应放右边表的字段的位置就自动补为“null”值。

        如图:

          

      右[外]连接:

        SELECT * FROM empp RIGHT JOIN dept ON empp.`did`=dept.`did`

        如图:

          

       全[外]连接:

        SELECT * FROM empp FULL JOIN dept ON empp.`did`=dept.`did`

        其实是左右连接的“并集”(消除重复项),加上左表中不满足条件的所有行(右边对应补null),再加上,右表中不满足条件的所有行(左边对应补null)。

        在MYSQL中不适用

      in子查询:

        SELECT protype_name FROM product_type WHERE protype_id=(SELECT protype_id FROM product  WHERE pro_name LIKE '%素尼%4G手机%')

        表示该操作数(字段值) 等于 该子查询的其中任意一个只,就算满足条件。

      联合查询:

        SELECT pro_id,pro_name FROM product

        UNION

        SELECT protype_id,protype_name FROM product_type

        将两个表上下合并,下边没有字段及字段类型,通用第一个的属性

        如图:

          

  • 相关阅读:
    算法学习算法复杂度
    算法学习冒泡排序和快速排序
    焦点管理
    数据结构学习链表、双向链表、循环链表
    数据结构学习数组、栈和队列
    数据结构学习集合
    数据结构学习字典和散列表
    (转)一个webservice的小demo
    堆栈详解
    JS实现大小写转换
  • 原文地址:https://www.cnblogs.com/zhai113/p/11457883.html
Copyright © 2020-2023  润新知