這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)MySQL視圖的基本操作是怎樣的,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、鲅魚圈網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為鲅魚圈等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
視圖算是一個mysql中一個稍微比較高級一點(diǎn)的知識點(diǎn),它本身就是一個虛擬表。
還記得在剛剛學(xué)習(xí)視圖的時候,總是和表的概念分不清。我們可以這樣來理解。小學(xué)的時候,每年都會舉辦一次抽考活動,意思是從每一個班級里面篩選出幾個優(yōu)秀的同學(xué)去參加考試。這時候每一個班級就可以當(dāng)做是一張真實(shí)的表,很多班級篩選出來的這些同學(xué)就可以臨時組成一個班級,這個班級就可以當(dāng)做一個視圖,也就是說,這個班級其實(shí)不是真實(shí)存在的,當(dāng)考試過后,這些學(xué)生還是各回各家各找各媽。
mysql從5.1的版本開始有視圖功能的,通常情況下,視圖是為了封裝一些復(fù)雜的操作或者是一些重復(fù)的操作。比如說在多個地方使用相同的查詢結(jié)果,再或者是sql語句比較復(fù)雜,封裝成視圖,下一次直接使用即可。
視圖的作用:
(1)提高了重用性,對數(shù)據(jù)庫重構(gòu),卻不影響程序的運(yùn)行,
(2)提高了安全性,可以對不同的用戶,讓數(shù)據(jù)更加清晰,特別是查詢操作,減少復(fù)雜的SQL語句,
(3)增強(qiáng)可讀性;更加安全,數(shù)據(jù)庫授權(quán)命令不能限定到特定行和特定列,但是通過合理創(chuàng)建視圖,可以把權(quán)限限定到行列級別;
創(chuàng)建視圖:
create view 視圖名 as select 字段名稱 from 表名……;
查看視圖:
(1)describe 視圖名;
(2)show table status like '視圖名'\G;
(3)show create view 視圖名;
(4)select * from information_schema.views;
修改視圖:
create view 視圖名 as select 字段名稱 from 表名……. ;
alter view 視圖名 as select 字段名稱 from 表名……;
更新視圖:
(1)update 視圖名 set 字段名=值;
(2)insert into 表名 values(值,值…);
(3)delete from 視圖名 where 字段=值;
刪除視圖:
drop view if exists 視圖名;
下面舉個例子看看吧。
在這里使用的是單表下創(chuàng)建視圖
1mysql> create table user (
2 -> id int(11) primary key auto_increment,
3 -> name varchar(20),
4 -> english float,
5 -> math float
6 -> );
7Query OK, 0 rows affected (0.26 sec)
8mysql> select * from user;
9+----+--------+---------+------+
10| id | name | english | math |
11+----+--------+---------+------+
12| 1 | 張三 | 70 | 75 |
13| 2 | 李四 | 75 | 80 |
14| 3 | 王五 | 85 | 90 |
15+----+--------+---------+------+
163 rows in set (0.00 sec)
在這里新建了一個user表,然后往里面插入了幾條數(shù)據(jù)。下面我們新建一個視圖再去使用。
1mysql> create view user_view as
2 -> select id,name, english+math from user;
3Query OK, 0 rows affected (0.06 sec)
4mysql> select * from user_view;
5+----+--------+--------------+
6| id | name | english+math |
7+----+--------+--------------+
8| 1 | 張三 | 145 |
9| 2 | 李四 | 155 |
10| 3 | 王五 | 175 |
11+----+--------+--------------+
123 rows in set (0.00 sec)
現(xiàn)在我們創(chuàng)建了一個視圖名字叫做user_view,然后選擇了其中幾條字段,使用的時候就可以像正常表一樣去使用了。在多表情況下創(chuàng)建視圖也是一樣的,只是在select語句的時候再多表鏈接查詢而已。
上述就是小編為大家分享的mysql視圖的基本操作是怎樣的了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。