欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql視圖之管理視圖實(shí)例詳解【增刪改查操作】

 更新時(shí)間:2019年12月16日 09:48:45   作者:luyaran  
這篇文章主要介紹了mysql視圖之管理視圖,結(jié)合實(shí)例形式詳細(xì)分析了mysql視圖增刪改查操作具體實(shí)現(xiàn)技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了mysql視圖之管理視圖操作。分享給大家供大家參考,具體如下:

mysql提供了用于顯示視圖定義的SHOW CREATE VIEW語(yǔ)句,我們來(lái)看下語(yǔ)法結(jié)構(gòu):

SHOW CREATE VIEW [database_name].[view_ name];

要顯示視圖的定義,需要在SHOW CREATE VIEW子句之后指定視圖的名稱,我們先來(lái)根據(jù)employees表創(chuàng)建一個(gè)簡(jiǎn)單的視圖用來(lái)顯示公司組織結(jié)構(gòu),完事在進(jìn)行演示:

CREATE VIEW organization AS
  SELECT 
    CONCAT(E.lastname, E.firstname) AS Employee,
    CONCAT(M.lastname, M.firstname) AS Manager
  FROM
    employees AS E
      INNER JOIN
    employees AS M ON M.employeeNumber = E.ReportsTo
  ORDER BY Manager;

從以上視圖中查詢數(shù)據(jù),得到以下結(jié)果:

mysql> SELECT * FROM organization;
+------------------+------------------+
| Employee     | Manager     |
+------------------+------------------+
| BondurLoui    | BondurGerard   |
| CastilloPamela  | BondurGerard   |
| JonesBarry    | BondurGerard   |
| HernandezGerard | BondurGerard   |
.......此處省略了many many數(shù)據(jù).......
| KatoYoshimi   | NishiMami    |
| KingTom     | PattersonWilliam |
| MarshPeter    | PattersonWilliam |
| FixterAndy    | PattersonWilliam |
+------------------+------------------+
24 rows in set

要顯示視圖的定義,請(qǐng)使用SHOW CREATE VIEW語(yǔ)句如下:

SHOW CREATE VIEW organization;

我們還可以使用任何純文本編輯器(如記事本)顯示視圖的定義,以打開數(shù)據(jù)庫(kù)文件夾中的視圖定義文件。例如,要打開organization視圖定義,可以在數(shù)據(jù)庫(kù)文件夾下的data文件夾中找到你數(shù)據(jù)庫(kù)文件夾,完事進(jìn)入其中按著你視圖名稱找.frm文件。

我們?cè)賮?lái)通過ALTER VIEW和CREATE OR REPLACE VIEW來(lái)嘗試修改視圖,先來(lái)看下alert view語(yǔ)法:

ALTER
 [ALGORITHM = {MERGE | TEMPTABLE | UNDEFINED}]
 VIEW [database_name]. [view_name]
  AS
 [SELECT statement]

以下語(yǔ)句通過添加email列來(lái)演示如何修改organization視圖:

ALTER VIEW organization
 AS 
 SELECT CONCAT(E.lastname,E.firstname) AS Employee,
     E.email AS employeeEmail,
     CONCAT(M.lastname,M.firstname) AS Manager
 FROM employees AS E
 INNER JOIN employees AS M
  ON M.employeeNumber = E.ReportsTo
 ORDER BY Manager;

要驗(yàn)證更改,可以從organization視圖中查詢數(shù)據(jù),咱就不贅述了,完事來(lái)看下另一個(gè)語(yǔ)法結(jié)構(gòu):

CREATE OR REPLACE VIEW v_contacts AS
  SELECT 
    firstName, lastName, extension, email
  FROM
    employees;
-- 查詢視圖數(shù)據(jù)
SELECT * FROM v_contacts;

我們要注意,在我們修改的時(shí)候,如果一個(gè)視圖已經(jīng)存在,mysql只會(huì)修改視圖。如果視圖不存在,mysql將創(chuàng)建一個(gè)新的視圖。好啦,我們來(lái)看下上述sql執(zhí)行的結(jié)果:

+-----------+-----------+-----------+--------------------------------+
| firstName | lastName | extension | email             |
+-----------+-----------+-----------+--------------------------------+
| Diane   | Murphy  | x5800   | dmurphy@yiibai.com       |
| Mary   | Hill   | x4611   | mary.hill@yiibai.com      |
| Jeff   | Firrelli | x9273   | jfirrelli@yiibai.com      |
| William  | Patterson | x4871   | wpatterson@yiibai.com     |
| Gerard  | Bondur  | x5408   | gbondur@gmail.com       |
| Anthony  | Bow    | x5428   | abow@gmail.com         |
| Leslie  | Jennings | x3291   | ljennings@yiibai.com      |
.............. 此處省略了many many數(shù)據(jù) ..................................
| Martin  | Gerard  | x2312   | mgerard@gmail.com       |
| Lily   | Bush   | x9111   | lilybush@yiiibai.com      |
| John   | Minsu   | x9112   | johnminsu@classicmodelcars.com |
+-----------+-----------+-----------+--------------------------------+
25 rows in set

假設(shè)我們要將職位(jobtitle)列添加到v_contacts視圖中,只需使用以下語(yǔ)句:

CREATE OR REPLACE VIEW v_contacts AS
  SELECT 
    firstName, lastName, extension, email, jobtitle
  FROM
    employees;
-- 查詢視圖數(shù)據(jù)
SELECT * FROM v_contacts;

執(zhí)行上面查詢語(yǔ)句后,可以看到添加一列數(shù)據(jù):

+-----------+-----------+-----------+--------------------------------+----------------------+
| firstName | lastName | extension | email             | jobtitle       |
+-----------+-----------+-----------+--------------------------------+----------------------+
| Diane   | Murphy  | x5800   | dmurphy@yiibai.com       | President      |
| Mary   | Hill   | x4611   | mary.hill@yiibai.com      | VP Sales       |
| Jeff   | Firrelli | x9273   | jfirrelli@yiibai.com      | VP Marketing     |
................... 此處省略了一大波數(shù)據(jù) ....................................................
| Yoshimi  | Kato   | x102   | ykato@gmail.com        | Sales Rep      |
| Martin  | Gerard  | x2312   | mgerard@gmail.com       | Sales Rep      |
| Lily   | Bush   | x9111   | lilybush@yiiibai.com      | IT Manager      |
| John   | Minsu   | x9112   | johnminsu@classicmodelcars.com | SVP Marketing    |
+-----------+-----------+-----------+--------------------------------+----------------------+
25 rows in set

完事我們來(lái)看使用DROP VIEW語(yǔ)句將視圖刪除,先來(lái)看下語(yǔ)法結(jié)構(gòu):

DROP VIEW [IF EXISTS] [database_name].[view_name]

上述sql中,IF EXISTS是語(yǔ)句的可選子句,它允許我們檢查視圖是否存在,用來(lái)避免刪除不存在的視圖的錯(cuò)誤。完事我們來(lái)刪除organization視圖:

DROP VIEW IF EXISTS organization;

我們得注意下,每次修改或刪除視圖時(shí),mysql會(huì)將視圖定義文件備份到/database_name/arc/目錄中。 如果我們意外修改或刪除視圖,可以從/database_name/arc/文件夾獲取其備份。

好啦,本次記錄就到這里了。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過程技巧大全》、《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》及《MySQL常用函數(shù)大匯總

希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。

相關(guān)文章

  • MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例

    MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例

    本文主要介紹了MySQL Workbench導(dǎo)入excel數(shù)據(jù)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 深入mysql并發(fā)插入優(yōu)化詳解

    深入mysql并發(fā)插入優(yōu)化詳解

    本篇文章是對(duì)mysql并發(fā)插入優(yōu)化進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • mysql查看索引的方式

    mysql查看索引的方式

    這篇文章主要介紹了mysql查看索引的方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • MySQL數(shù)據(jù)庫(kù)操作常用命令小結(jié)

    MySQL數(shù)據(jù)庫(kù)操作常用命令小結(jié)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)操作常用命令小結(jié),例如創(chuàng)建數(shù)據(jù)庫(kù)、使用數(shù)據(jù)庫(kù)、查看數(shù)據(jù)庫(kù)、數(shù)據(jù)庫(kù)編碼操作等命令講解,需要的朋友可以參考下
    2014-12-12
  • MySQL分庫(kù)分表的幾種方式

    MySQL分庫(kù)分表的幾種方式

    這篇文章主要介紹了MySQL分庫(kù)分表的幾種方式,分庫(kù)分表方案是對(duì)關(guān)系型數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)和訪問機(jī)制的一種補(bǔ)充,下文更多相關(guān)介紹需要的小伙伴可以參考一下
    2022-04-04
  • MySQL和MySQL驅(qū)動(dòng)mysql-connector-java升級(jí)到8.0.X版本問題

    MySQL和MySQL驅(qū)動(dòng)mysql-connector-java升級(jí)到8.0.X版本問題

    這篇文章主要介紹了MySQL和MySQL驅(qū)動(dòng)mysql-connector-java升級(jí)到8.0.X版本問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Windows系統(tǒng)下MySQL8.0.21安裝教程(圖文詳解)

    Windows系統(tǒng)下MySQL8.0.21安裝教程(圖文詳解)

    這篇文章主要介紹了Windows系統(tǒng)下MySQL8.0.21安裝教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • MySQL中Select查詢語(yǔ)句的高級(jí)用法分享

    MySQL中Select查詢語(yǔ)句的高級(jí)用法分享

    MySQL是一個(gè)開源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),支持多種操作語(yǔ)言,其中最基礎(chǔ)、最常用的命令之一就是SELECT語(yǔ)句,所以本文就來(lái)和大家聊聊Select查詢語(yǔ)句的幾個(gè)高級(jí)用法吧
    2023-05-05
  • MySQL?8.0?對(duì)?limit?的優(yōu)化技巧

    MySQL?8.0?對(duì)?limit?的優(yōu)化技巧

    從不同版本的 MySQL 發(fā)展軌跡來(lái)看 MySQL 的優(yōu)化器越來(lái)越智能 (比如大家期待已久的直方圖特性) ,能更多的減少人為干預(yù),提升執(zhí)行計(jì)劃的準(zhǔn)確性,這篇文章主要介紹了MySQL?8.0?對(duì)?limit?的優(yōu)化,需要的朋友可以參考下
    2022-10-10
  • linux下改良版本mysqldump來(lái)備份MYSQL數(shù)據(jù)庫(kù)

    linux下改良版本mysqldump來(lái)備份MYSQL數(shù)據(jù)庫(kù)

    我的備份腳本都是在凌晨執(zhí)行的,經(jīng)常在慢查詢?nèi)罩纠锩婵吹竭@樣的信息:select * from table1; 之前一直很納悶,最后才了解到原來(lái)是MYSQLDUMP搞的鬼。
    2008-07-07

最新評(píng)論