欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL视图原理与基本操作示例

程序员文章站 2022-11-26 16:18:05
本文实例讲述了mysql视图原理与基本操作。分享给大家供大家参考,具体如下: 概述 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数...

本文实例讲述了mysql视图原理与基本操作。分享给大家供大家参考,具体如下:

概述

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是视图并不在数据库中以存储的数据值集形式存在。行和列数据来*定义视图的查询所引用的表,并在引用视图时动态生成。

对其中所引用的基础表来说,视图的作用类似于筛选。

基本操作

建立视图

create view view_test(qty,price,total) as select quantity,price,quantity*price from t;

多表视图

create view stu_class(id,name,glass) as select student.s_id,student.name,stu_info.glass from student,stu_info where student.s_id = stu_info.s_id;

查看视图

describe 视图名

desc 视图名

查看视图基本信息

show table status like '视图名';

查看视图的建表信息

showcreate view 视图名

在view表中查看视图详细信息

在mysql的information_schema数据库下的views表中存储了所有的视图定义,可以用select查看

select * from information_schema.views;

修改视图

replace语句

create or replace view view_test as select * from t;

alter语句

alter view view_test select name from t;

删除视图

drop view if exists stu_glass

建表语句示例

/*获取系统组织结构
 *包括用户名称、用户id、所属店面名称、所属店面id、创建时间...
 */
create view organizationtableview as select id,storename,regdate from v9_qd_account;

/*获取当天的cpz安装数据(按用户分组汇总)
 *包括用户id、cpz汇总值...
 */
create view todaycpztableview as select storeid,storename,count(id)as total,sum(tui_num)as tui_num from v9_qd_dev where days = date_format(now(),'%y%m%d') group by storeid;

/*获取当月每天的cpz安装数据(按天、用户分组汇总)
 *包括日期(天)、用户id、cpz汇总值、cpzapp汇总值、重复cpz汇总值...
 */
create view historycurrentmonthdayview as select storeid,storename,count(id)as total,sum(tui_num)as tui_num,days from v9_qd_dev where days > date_format(now(),'%y%m') group by storeid,days;

/*获取每月的cpz安装数据(按月、用户分组汇总)
 *包括日期(天)、用户id、cpz汇总值、cpzapp汇总值、重复cpz汇总值...
 */
create view historymonthtableview as select storeid,storename,count(id)as total,sum(tui_num)as tui_num, date_format(from_unixtime(installdate),'%y%m') as months from v9_qd_dev group by storeid,months;

/*根据输入的imei获取cpz安装数据()
 *包括imei、账户id、店面id、安装时间、是否重复安装、安装app个数、手机型号
 */
create view querycpzdatumbyimei as select storeid,storename,verify,tui_num,sn,idfa,imei,devms,installdate from v9_qd_dev;

//今天
date_format(now(),'%y%m%d');

更多关于mysql相关内容感兴趣的读者可查看本站专题:《mysql查询技巧大全》、《mysql事务操作技巧汇总》、《mysql存储过程技巧大全》、《mysql数据库锁相关技巧汇总》及《mysql常用函数大汇总

希望本文所述对大家mysql数据库计有所帮助。