MySQL之視圖

MySQL提供了創建視圖的方法,創建成功的視圖,將添加到正在使用的數據庫的數據表列表中。

一、 創建和查詢視圖

  • 使用create view 視圖名稱 as select查詢語句;命令創建視圖。
mysql> create view v_students as select * from student;
Query OK, 0 rows affected (0.01 sec)
  • 使用show tables;命令查看當前數據庫下的數據表和視圖。
mysql> show tables;
+----------------+
| Tables_in_TEMP |
+----------------+
| class          |
| student        |
| v_students     |
+----------------+
3 rows in set (0.00 sec)

二、使用視圖

視圖本身不存放數據,不允許添加、修改、刪除數據,它只是將創建視圖時填寫的查詢語句保存起來,當把視圖當作數據表使用select查詢時,重新執行一遍創建視圖時的查詢語句,將查詢結果返回。

  • 使用select * from 視圖名稱;命令查看視圖的內容。
mysql> select * from v_students;
+----+------+--------+--------+---------+
| id | age  | name   | gender | classID |
+----+------+--------+--------+---------+
|  1 |   20 | 小紅   | 女     | 1       |
|  2 |   23 | 小名   | 男     | 2       |
|  3 |   21 | 小軍   | 男     | 3       |
|  4 |   28 | 小蘭   | 女     | 1       |
|  5 |   25 | 小夏   | 女     | 2       |
|  6 |   26 | 小建   | 男     | 4       |
+----+------+--------+--------+---------+
6 rows in set (0.01 sec)

可以對視圖使用where、order by、group by、limit和連接進行處理。

四、視圖的優點

  1. 提高了重用性,將查詢語句記錄下來供下一次使用。
  2. 對數據庫重構,卻不影響程序的運行。
  3. 提高了安全性能,根據用戶類型提供數據表或視圖。
  4. 讓數據更加清晰。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章