視圖 使用環境: 將多表聯查的結果放到一張虛擬表中,實際上只會生成一個表結構的frm文件,不會生成數據文件,他的數據完全來源於後面多表的內容.他會方便你查詢數據(優化sql)而不是增刪改數據. 註意: ①實際工作中儘量少用,因為到了後期資料庫要擴展功能時你需要一個一個去看虛擬表都是怎麼連起來的,非常 ...
視圖
使用環境:
將多表聯查的結果放到一張虛擬表中,實際上只會生成一個表結構的frm文件,不會生成數據文件,他的數據完全來源於後面多表的內容.他會方便你查詢數據(優化sql)而不是增刪改數據.
註意:
①實際工作中儘量少用,因為到了後期資料庫要擴展功能時你需要一個一個去看虛擬表都是怎麼連起來的,非常麻煩,你用的虛擬表越多,查起來越麻煩.
②一張表就不要寫視圖了,你直接查那張表就可以了 (create view xx as select * from userinfo;)這樣寫還不如不寫
語法:
查詢:create view +隨意起個虛擬表名(視圖的名) as +多表聯查的sql語句(註意不要用括弧括起來)
修改:alter view 虛擬表名 as +(你要換的連表查詢語句),這裡的修改只是把你後面查詢的sql語句換了,
而不是你把虛擬表的某行記錄改了,改一行就會造成多個表數據都跟著改,這樣會出問題.所以只能換後面的sql語句,而不是改虛擬表的某行記錄.
刪除:drop view +虛擬表名
例子:
create view shitu as select * from employee inner join department on employee.dep_id = department.id ;