1. 程式人生 > 其它 >HTML上傳檔案支援大檔案上傳,下載解決方案

HTML上傳檔案支援大檔案上傳,下載解決方案

什麼是檢視

mysql5.1版本出現的新特性,本身是一個虛擬表,它的資料來自於表,通過執行時動態生成。
好處:

  • 簡化sql語句
  • 提高了sql的重用性
  • 保護基表的資料,提高了安全性

使用

建立

 create view 檢視名
  as
 查詢語句;

修改

//方式一:
create or replace view 檢視名
as
查詢語句;

//方式二:
alter view 檢視名
as
查詢語句

刪除

drop view 檢視1,檢視2,...;

檢視

desc 檢視名;
show create view 檢視名;

注意

不是所有的檢視都可以做DML操作。有下列內容之一,檢視不能做DML操作:

①select子句中包含distinct

②select子句中包含組函式

③select語句中包含group by子句

④select語句中包含order by子句

⑤select語句中包含union 、union all等集合運算子

⑥where子句中包含相關子查詢

⑦from子句中包含多個表

⑧如果檢視中有計算列,則不能更新

⑨如果基表中有某個具有非空約束的列未出現在檢視定義中,則不能做insert操作

檢視一般用於查詢的,而不是更新,所以具備以下特點的檢視都不允許更新
①包含分組函式、group by、distinct、having、union、
②join
③常量檢視
④where後的子查詢用到了from中的表
⑤用到了不可更新的檢視

檢視和表的對比

關鍵字 是否佔用物理空間 使用
檢視view 佔用較小,只儲存sql邏輯 一般用於查詢
表table 儲存實際的資料 增刪改查

案例

一、建立檢視emp_v1,要求查詢電話號碼以‘011’開頭的員工姓名和工資、郵箱

CREATE OR REPLACE VIEW emp_v1
AS
SELECT last_name,salary,email
FROM employees
WHERE phone_number LIKE '011%';

二、建立檢視emp_v2,要求查詢部門的最高工資高於12000的部門資訊

CREATE OR REPLACE VIEW emp_v2
AS
SELECT MAX(salary) mx_dep,department_id
FROM employees
GROUP BY department_id
HAVING MAX(salary)>12000;

SELECT d.*,m.mx_dep
FROM departments d
JOIN emp_v2 m
ON m.department_id = d.department_id;