校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > mysql視圖之管理視圖實例詳解【增刪改查操作】

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

熱門標簽:在哪里申請400電話 巫師三血與酒地圖標注 走過哪個省地圖標注 銷售語音電話機器人 安徽ai電話電銷機器人有效果嗎 400電話申請信用卡 常州網絡外呼系統(tǒng)開發(fā) 萊西市地圖標注 外呼系統(tǒng)電銷受騙

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

mysql提供了用于顯示視圖定義的SHOW CREATE VIEW語句,我們來看下語法結構:

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

要顯示視圖的定義,需要在SHOW CREATE VIEW子句之后指定視圖的名稱,我們先來根據employees表創(chuàng)建一個簡單的視圖用來顯示公司組織結構,完事在進行演示:

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;

從以上視圖中查詢數據,得到以下結果:

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

要顯示視圖的定義,請使用SHOW CREATE VIEW語句如下:

SHOW CREATE VIEW organization;

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

我們再來通過ALTER VIEW和CREATE OR REPLACE VIEW來嘗試修改視圖,先來看下alert view語法:

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

以下語句通過添加email列來演示如何修改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;

要驗證更改,可以從organization視圖中查詢數據,咱就不贅述了,完事來看下另一個語法結構:

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

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

+-----------+-----------+-----------+--------------------------------+
| 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數據 ..................................
| Martin  | Gerard  | x2312   | mgerard@gmail.com       |
| Lily   | Bush   | x9111   | lilybush@yiiibai.com      |
| John   | Minsu   | x9112   | johnminsu@classicmodelcars.com |
+-----------+-----------+-----------+--------------------------------+
25 rows in set

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

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

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

+-----------+-----------+-----------+--------------------------------+----------------------+
| 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     |
................... 此處省略了一大波數據 ....................................................
| 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

完事我們來看使用DROP VIEW語句將視圖刪除,先來看下語法結構:

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

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

DROP VIEW IF EXISTS organization;

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

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

更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》、《MySQL數據庫鎖相關技巧匯總》及《MySQL常用函數大匯總》

希望本文所述對大家MySQL數據庫計有所幫助。

您可能感興趣的文章:
  • mysql視圖之創(chuàng)建視圖(CREATE VIEW)和使用限制實例詳解
  • MySQL如何創(chuàng)建視圖
  • 詳細分析mysql視圖的原理及使用方法
  • MySQL的視圖和索引用法與區(qū)別詳解
  • 淺談MySql 視圖、觸發(fā)器以及存儲過程
  • MySql視圖觸發(fā)器存儲過程詳解
  • mysql視圖原理與用法實例詳解
  • mysql視圖之創(chuàng)建可更新視圖的方法詳解
  • MySQL中Update、select聯(lián)用操作單表、多表,及視圖與臨時表的區(qū)別
  • mysql三張表連接建立視圖
  • MySQL 視圖(View)原理解析

標簽:煙臺 陽江 河北 黃石 來賓 果洛 赤峰 鞍山

巨人網絡通訊聲明:本文標題《mysql視圖之管理視圖實例詳解【增刪改查操作】》,本文關鍵詞  mysql,視圖,之,管理,實例,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql視圖之管理視圖實例詳解【增刪改查操作】》相關的同類信息!
  • 本頁收集關于mysql視圖之管理視圖實例詳解【增刪改查操作】的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 葵青区| 万年县| 界首市| 竹北市| 汝州市| 贵定县| 昂仁县| 普兰县| 岚皋县| 新宁县| 黎平县| 安塞县| 二连浩特市| 平湖市| 桂平市| 图们市| 满城县| 长顺县| 吉水县| 西乌珠穆沁旗| 永吉县| 金沙县| 东乡| 芜湖市| 和平县| 德化县| 清河县| 沙河市| 桐梓县| 尉氏县| 五华县| 军事| 醴陵市| 延安市| 涿鹿县| 宁城县| 吐鲁番市| 辉南县| 盖州市| 沙雅县| 清水河县|