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