<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                視圖就是一張虛表,只存儲表結構,并不存儲表真實數據,數據是在查詢時動態生成的。 使用視圖的好處: 更方便,簡化了操作,我們只需要使用視圖獲取數據,無需知道怎么處理的; 更安全,我們只能訪問到視圖就能得到數據,無需訪問原表; 降低耦合性,表結構更改時,只需要調整下視圖,無需更改應用程序代碼。 1、創建視圖 create view v1 as select * from aa; create view v1(id,name) as select id,name from aa; create or replace view v1 as select 語句; #視圖已存在時創建 完整語法:create [algorithm = undefined/merge/temptable] view 視圖名 as 查詢語句 [with [cascaded/local] check option]; 通過 algorithm 可以選取相應的算法來從基表展示數據: (1) merge:把從視圖取數據的 SQL 改變成從原表取數據的 SQL; (2) temptable:將視圖的結果放置到臨時表中,然后使用它執行語句,此時視圖不可更新; (3) undefined:MySQL 自動選擇。 2、查看視圖 show tables; desc v1; show create view v1\G; show status like [from db_name] [like tbl_name]; select * from v1; 3、更新視圖 update v1 set name = 'shang' where id = 1; 以下類型的視圖是不能更新的: (1) 包含聚合函數、distinct、group by、having、union、union all; (2) 常量視圖; (3) select 包含子查詢; (4) 包含連接操作; (5) from 一個不能更新的視圖; (6) where 子句的子查詢引用了 from 子句中的表。 4、插入視圖 insert into v1 select value1,value2; 關鍵字 with check option 在插入時進行檢查,滿足視圖條件才允許操作,否則拒絕,比如: create view v2(name,age) as select name,age from info where age < 20 with check option; insert into v2 select 'shang',24; #拒絕操作,因為不滿足視圖條件(age < 20) 其他參數:with [local/cascaded] check option local:只需滿足本視圖條件; cascaded:默認值,需滿足所有視圖條件(即在視圖派生視圖時,滿足每個視圖條件); 5、修改視圖 alter view v1 ...; 6、刪除視圖 drop [if exists] view v1,v2,...; 總結: (1) 視圖更多的是提供了一個中間層的功能,來屏蔽一些我們的操作。 (2) MySQL 的視圖功能還是比較弱的,比如說不支持物化視圖等等。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看