logo
当前位置:首 页 > 编程技术 >后端开发 >mysql > 查看文章

MySQL的视图(view)

mysql, 后端开发, 杂侃, 编程技术 你是第23个围观者 0条评论 供稿者: 标签:,

视图的概念:

视图是一个虚拟表,是sql的查询结果,其内容由查询定义,同真实的表一样,视图包含一系列带有名称的列和行数数,在使用视图时动态生成。视图的数据变化会影响到基表,基表的数据变化也会影响到视图

[insert update delete ] ; 创建视图需要create view 权限,并且对于查询涉及的列有select权限;使用create or replace 或者 alter修改视图,那么还需要改视图的drop权限。

 

大数据分表时可以用到

比如,表的行数超过200万行时,就会变慢,

可以把一张的表的数据拆成4张表来存放.

News表

Newsid, 1,2,3,4

News1,news2,news3,news4表

把一张表的数据分散到4张表里,分散的方法很多,

最常用可以用id取模来计算.

Id%4+1 = [1,2,3,4]

比如 $_GET[‘id’] = 17,

17%4 + 1 = 2,  $tableName = ‘news’.’2′

Select * from news2 where id = 17;

还可以用视图4张表形成一张视图

Create view news as  select from n1 union select from n2 union………

二、视图的基本使用

        如何创建视图(基本语法):

  create view  视图名  as  select 字段名 from 表名;

   

  Mysql视图的定义在from关键字后面不能包含子查询

        修改了视图,对基表数据有影响

   

        修改了基表,对视图也有影响

        如何修改视图

    基本语法是

    alter view 视图名 as select 语句

    alter view 视图名 as  select 视图;

   

 

        显示视图创建情况

    show create view 视图名;

        查看视图

    Show tables;

    Show table status [ from db_name ] [ like ‘pattern’ ]

    SELECT * FROM information_schema.views where table_name = ‘my_view’;

        删除视图

    drop view 视图名[,视图名…];

        重命名视图

    Rename table 视图名 to 新视图名;;

三、具体的创建视图的方式:

        create algorithm=temptable view view1 as select goods_id,cat_id,shop_price,goods_name from ecs_goods order by cat_id, shop_price desc;

        create view view2 as select * from view1 group by view1.cat_id;

  这里说明一下关于视图(存储的都是语句)使用到的算法(视图放哪了):

   

  Undefined:未定义,自动,让系统帮你选.

   

  

 

   

 

四、使用视图的好处

   

 

说说梦想,谈谈感悟 ,聊聊技术,有啥要说的来github留言吧 https://github.com/cjx2328

—— 陈 建鑫

陈建鑫
你可能也喜欢Related Posts
footer logo
未经许可请勿自行使用、转载、修改、复制、发行、出售、发表或以其它方式利用本网站之内容。站长联系:cjx2328#126.com(修改#为@)
Copyright ©ziao design Studio All Rights Reserved.沪ICP备14052271号-3