1. 程式人生 > 實用技巧 >MySQL基礎(4) | 檢視

MySQL基礎(4) | 檢視

MySQL基礎(4) | 檢視


基本語法

1.建立

CREATE VIEW <檢視名> AS <SELECT語句>

語法說明如下。

  • <檢視名>:指定檢視的名稱。該名稱在資料庫中必須是唯一的,不能與其他表或檢視同名。
  • <SELECT語句>:指定建立檢視的 SELECT 語句,可用於查詢多個基礎表或源檢視。

對於建立檢視中的 SELECT 語句的指定存在以下限制:

  • 使用者除了擁有 CREATE VIEW 許可權外,還具有操作中涉及的基礎表和其他檢視的相關許可權。

  • SELECT 語句不能引用系統或使用者變數

  • SELECT 語句不能包含 FROM 子句中的子查詢

  • 檢視定義中不能引用 TEMPORARY 表(臨時表),不能建立 TEMPORARY 檢視。

  • SELECT 語句不能引用預處理語句引數

  1. 修改
ALTER VIEW <檢視名> AS <SELECT語句>
  1. 刪除
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;