MySQLビューの原理と基本操作例

3072 ワード

この例では、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データベース・メーターについて説明します.