MySQL基礎(4) | 檢視
阿新 • • 發佈:2020-11-22
MySQL基礎(4) | 檢視
基本語法
1.建立
CREATE VIEW <檢視名> AS <SELECT語句>
語法說明如下。
<檢視名>
:指定檢視的名稱。該名稱在資料庫中必須是唯一的,不能與其他表或檢視同名。<SELECT語句>
:指定建立檢視的 SELECT 語句,可用於查詢多個基礎表或源檢視。
對於建立檢視中的 SELECT 語句的指定存在以下限制:
-
使用者除了擁有 CREATE VIEW 許可權外,還具有操作中涉及的基礎表和其他檢視的相關許可權。
-
SELECT 語句不能引用系統或使用者變數。
-
SELECT 語句不能包含 FROM 子句中的子查詢
-
檢視定義中不能引用 TEMPORARY 表(臨時表),不能建立 TEMPORARY 檢視。
-
SELECT 語句不能引用預處理語句引數。
- 修改
ALTER VIEW <檢視名> AS <SELECT語句>
- 刪除
DROP VIEW <檢視名1> [ , <檢視名2> …]
示例:
#建立資料表 create table mygoods( g_id int AUTO_INCREMENT primary key, g_name varchar(20), g_price double, g_count int )engine=innodb default CHARSET=utf8; create table myperson( p_id int AUTO_INCREMENT primary key, p_name varchar(20), g_id int, foreign key fk_pid(g_id) references mygoods(g_id) ); #插入資料 insert into mygoods(g_name, g_price, g_count) select '梨', 2.2, 3; insert into mygoods(g_name, g_price, g_count) select '蘋果', 5.6, 2; insert into myperson(p_name,g_id) select '小白',1; #建立檢視 CREATE VIEW v_mygoods as select g_price, g_count, g_price * g_count as total from mygoods; #檢視檢視 select * from v_mygoods; create view v_myperson as select a.p_name, b.g_price * b.g_count as tP from myperson a inner join mygoods b on a.g_id = b.g_id; select * from v_myperson;