zoukankan      html  css  js  c++  java
  • MySql-视图操作

    视图

    视图本质上是一张表或多张表的查询结果构成的一张虚拟表。可以使用视图来避免多次编写sql的问题;也可以用不同的视图来查看表中的部分记录

    创建视图

    create [or replace] view 视图名[(column_list)] as 查询语句
    # or replace:表示如果已经存在相同名字的视图,则替换原有视图
    # column_list:指定哪些字段要出现在视图中
    # 视图是一张虚拟表,所以在视图中的数据不会出现在硬盘上
    

    查看视图

    desc view_name;  # 查看视图的数据结构
    show create view view_name [G];  # 查看创建视图语句
    select * from view_name;  # 查看视图内的数据,同查表数据一样
    

    修改视图

    alter view view_name as 查询语句;  
    

    删除视图

    drop view view_name;
    

    举例

    # 数据准备
    create database db02 charset utf8;
    use db02
    create table student(
      s_id int(3),
      name varchar(20),
      math float,
      chinese float 
    );
    insert into student values(1,'tom',80,70),(2,'jack',80,80),(3,'rose',60,75);
    
    create table stu_info(
      s_id int(3),
      class varchar(50),
      addr varchar(100)
    );
    insert into stu_info values(1,'二班','安徽'),(2,'二班','湖南'),(3,'三班','黑龙江');
    
    # 创建视图包含编号、学生的姓名和班级
    create view stu_v(编号,姓名,班级) as select student.s_id,name,class from student join stu_info on student.s_id = stu_info.s_id;
    
    # 修改视图
    alter view stu_v(编号,姓名) as select student.s_id,name from student join stu_info on student.s_id = stu_info.s_id;
    
    # 删除视图
    drop view stu_v;
    
    

    注意:对视图数据的insert update delete会同步到原表中,但由于视图可能是部分字段,很多时候会失败

  • 相关阅读:
    【机器学习】关联规则挖掘(二):频繁模式树FP-growth
    【机器学习】关联规则分析(一):Apriori
    【机器学习】聚类算法——K均值算法(k-means)
    【机器学习】分类器组合——AdaBoost
    tensorflow 中 Cross Entropy算法理解
    修改文件夹中的文件名
    poj 2635
    噪音样本
    流量录制回放助力接口自动化测试
    git
  • 原文地址:https://www.cnblogs.com/863652104kai/p/11197429.html
Copyright © 2011-2022 走看看