zoukankan      html  css  js  c++  java
  • mysql 外键和子查询,视图

    1.mysql 外键约束

    建表时生成外键   foreing key ('sid') references' student'('id');

    建表后添加外键  alter table' course student' add foreign key('sid') references'student'('id')

    删除外键  alter table ' course student ' drop foreign key ' course_student_ibfk_1;

    外键用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性

    主键 外键索引:

    定义 唯一标识一条记录,不能有重复的,不允许为null  表的外键是另一个表的主键,外键可以有重复的。可以是null 没有重复值 ,可以为null(索引无效)作用 用来保证数据的完整性 用来和其他表建立联系用的,提高查询排序的速度

    个数    主键只能有一个 一个表可以有多个外键  一个表可以有多个唯一索引

    2.自关联  

    含义   自己join自己 ,用一张表搞定多张表可以达到效果

    注意   当表自关联的时候,需要使用as 起别名,防止关联的时候引发重名的问题

    select * from areas as p inner  join areas as c on c.pid = p.aid where p.atitle = '河南省'

    三表关联

    select * from areas as p left join areas as c on c.pid = p.aid left join areas as a on a.pid = c.aid where p.atitle = '河南省'

    3.子查询

    子查询允许把一个查询嵌套在另一个查询当中

        标量子查询

         是指子查询返回的是单一的标量,如一个数字或一个字符串,也是子查询最简单的返回形式,可以使用   =>  <> =  <= <>  这些操作符对子查询的标量结果进行比较,通常子查询的位置在比较式的右侧

           列子查询

          指子查询返回的结果集是N 行一列 ,该结果通常来自对表的某个字段查询返回

          可以使用  in ,不能直接使用  = > < >= <= <> 这些比较标量结果的操作符

          行子查询

            指 子查询返回的结果集是N 列一行,通常用来多列的比较

    4.视图

    视图就是一条select语句执行后返回的结果集,所以创建视图主要工作落在创建sql 查询语句上

    特性:视图是对若干张基本表的引用,一张虚表查询语句执行的结果,不存储具体的数据(基本表发生该表,视图跟着改变);可以跟基本表一样,进行增删改查操作(ps:增删改操作有条件限制)

     作用 : 方便操作,特别是查询操作,减少复杂的sql语句,增强可读性,更加安全数据库授权命令不能限定到特定行和特定列,但是通过合理创建视图,可以把权限限定到行列级别

     使用场合  : 权限控制的时候,不希望用户访问表中某些含敏感信息的列,比如 salary...关键信息来源多个复杂关联表,可以创建视图提取我们需要的信息,简化操作。

     建立视图

    建议名称以 v_ 开头,用来和普通表区分

    使用show tables 可以显示视图

     create view 视图名称 as select 语句

       使用视图

      select * from 视图名称

      删除视图

    drop view  视图名称

     修改视图

    create or replace view 视图名称 as sql语句

  • 相关阅读:
    Linux.超级管理员root-密码破解
    Hibernate.基础篇《一》.Hibernate工具类.
    不同版本Hibernate.获取SessionFactory的方式
    Hibernate.编写xml文件无自动提示信息
    ubantu中安装TensorFlow遇到的问题
    Ubuntu中安装python3.6(转)
    Linux 用户管理
    虚拟机中Linux安装(转)
    红黑树(转)
    树的遍历方法(转)
  • 原文地址:https://www.cnblogs.com/huanghaobing/p/10008218.html
Copyright © 2011-2022 走看看