MySQL視圖原理與基本操作示例
本文實(shí)例講述了MySQL視圖原理與基本操作。分享給大家供大家參考,具體如下:
概述
視圖是一個(gè)虛擬表,其內(nèi)容由查詢(xún)定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱(chēng)的列和行數(shù)據(jù)。但是視圖并不在數(shù)據(jù)庫(kù)中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來(lái)自由定義視圖的查詢(xún)所引用的表,并在引用視圖時(shí)動(dòng)態(tài)生成。
對(duì)其中所引用的基礎(chǔ)表來(lái)說(shuō),視圖的作用類(lèi)似于篩選。
基本操作
建立視圖
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表中查看視圖詳細(xì)信息
在mysql的information_schema數(shù)據(jù)庫(kù)下的views表中存儲(chǔ)了所有的視圖定義,可以用select查看
select * from information_schema.views;
修改視圖
REPLACE語(yǔ)句
CREATE OR REPLACE VIEW view_test AS SELECT * FROM t;
ALTER語(yǔ)句
ALTER VIEW view_test SELECT name FROM t;
刪除視圖
DROP VIEW IF EXISTS stu_glass
建表語(yǔ)句示例
/*獲取系統(tǒng)組織結(jié)構(gòu) *包括用戶(hù)名稱(chēng)、用戶(hù)ID、所屬店面名稱(chēng)、所屬店面ID、創(chuàng)建時(shí)間... */ CREATE VIEW organizationTableView as select id,storename,regdate from v9_qd_account;
/*獲取當(dāng)天的Cpz安裝數(shù)據(jù)(按用戶(hù)分組匯總) *包括用戶(hù)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;
/*獲取當(dāng)月每天的Cpz安裝數(shù)據(jù)(按天、用戶(hù)分組匯總) *包括日期(天)、用戶(hù)ID、Cpz匯總值、CpzApp匯總值、重復(fù)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安裝數(shù)據(jù)(按月、用戶(hù)分組匯總) *包括日期(天)、用戶(hù)ID、Cpz匯總值、CpzApp匯總值、重復(fù)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;
/*根據(jù)輸入的IMEI獲取Cpz安裝數(shù)據(jù)() *包括IMEI、賬戶(hù)ID、店面ID、安裝時(shí)間、是否重復(fù)安裝、安裝app個(gè)數(shù)、手機(jī)型號(hào) */ 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');
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL查詢(xún)技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信