zoukankan      html  css  js  c++  java
  • mysql 创建视图

    1.单表创建视图

    例如:创建一个选择语句,选出学生的编号,姓名和考号

    //创建一个视图名字为stu_view1选择 来自数据表student中的id,name 和kn 中的数据

    create view stu_view1  as select id as '编号',name as'姓名',kn as '考号' from student;

    例如:创建一个选择语句出学生id和总成

    create view score_view1 as select id as '编号',sc.math+sc.chinese +sc.english+sc.mul as
    '总成绩' from score as sc;

    2.多表创建视图

    例如:创建一个选择语句,选出学生姓名和总成绩

    select s.name as '学生姓名' , sc.math +sc.chinese+sc.english+sc.mul as '总成绩'from

    student as s,score as sc where s.id=sc.s_id ;

    创建多表视图

    //创建一个对表视图名字为s_sc_view2 选择来自数据表student 中学生的姓名和选择来自数据表score 中所有学科成绩相加的总成绩 ,两张数据表中的数据要相对应(where s.id = sc.s_id)

    a.  create  or replace   view s_sc_view2 as select s.name as '学生姓名' , sc.math +sc.chinese+sc.english+sc.mul as '总成绩'from student as s,
    score as sc where s.id=sc.s_id ;

    b.  create or replace view s_sc_view3 (学生姓名,总成绩) AS select s.name ,

    sc.math +sc.chinese +sc.english+sc.mul from student as s ,score as sc where s.id =sc.s_id;

      create  表示创建。 

     or replace 表示视图已经存在,就替换

    view_name 视图名字

    as 后面是选择的字段(一个表或者多个表中)

    3.查看视图中的数据

    select * from s_sc_view2;//s_sc_view2是视图名

    4.查看视图结构

    desc view_name;

    5.查看视图创建语句

    show create view s_sc_view2;

    6.查看视图信息

    show table status like 'stu_view';(虚拟表为NULL)

    7.查看数据表信息

    show table  status like 'score';(真实表不为空)

    8.视图修改

    在视图stu_view5的基础长增加city(城市字段):

    a.通过or replace 覆盖的方式修改视图

    create or replace  view stu_view5 (姓名,考号,城市) as select name,kn,city from student;

    b.通过alter  关键子的方式修改视图

    alter view stu_view (姓名,考号,城市) as select name,kn,city from student;

    9.视图更新(内容)

    创建一个视图内容有:学生编号、总分、综合、主科目

     create or replace view score_view2 (学生编号,总分,综合,主科目)as select sc.s_id ,

    sc.math + sc.chinese +sc.english +sc.mul,sc.mul,

    sc.math+sc.english +sc.chinese from score as sc;

    a.使用update 语句(修改数据内容)

    update  score_view2 set 综合=156 where 学生编号=1003;

    b.使用delete 语句(删除数据)

    delete from score_view2 where 学生编号=1005;

    通过上面视图上面的更新(修改)和删除会影响到真实表(数据表)中的数据;

    10.视图的删除

    drop view if exists score_view1;

  • 相关阅读:
    电信10兆指的是多少Mbps
    keycloak ssl-required报错问题处理
    Centos7 DNS神奇的配置
    angular4套用primeng样式
    Python库大全
    jquery根据name属性的高级选择
    Js String 属性扩展
    SQLSever 触发器
    IaaS, PaaS和SaaS
    Sql Server 基础知识
  • 原文地址:https://www.cnblogs.com/sbj-dawn/p/6946197.html
Copyright © 2011-2022 走看看