溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

關(guān)于mysql視圖知識(shí)的簡(jiǎn)單整理

發(fā)布時(shí)間:2020-05-26 11:24:37 來(lái)源:網(wǎng)絡(luò) 閱讀:276 作者:三月 欄目:MySQL數(shù)據(jù)庫(kù)

下文給大家?guī)?lái)mysql視圖知識(shí)有關(guān)內(nèi)容,相信大家一定看過(guò)類(lèi)似的文章。我們給大家?guī)?lái)的有何不同呢?一起來(lái)看看正文部分吧,相信看完mysql視圖知識(shí)你一定會(huì)有所收獲。

視圖概念:

視圖是指計(jì)算機(jī)數(shù)據(jù)庫(kù)中的虛擬表,其內(nèi)容由查詢(xún)定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱(chēng)的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫(kù)中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來(lái)自由定義視圖的查詢(xún)所引用的表,并且在引用視圖時(shí)動(dòng)態(tài)生成。詳見(jiàn) 視圖 百度百科,其對(duì)視圖的分類(lèi)和優(yōu)點(diǎn)有詳細(xì)的解釋此處不再贅述。

視圖創(chuàng)建:

create view  view_name  as  select  列1,列2, ...... from 表名
我們可以把視圖理解為一個(gè)預(yù)先定義好的子查詢(xún),比如上面的語(yǔ)句中,如果我們把create 換成select那就相當(dāng)好理解了。
select * from select col_1,col_2 from tbl_1 as temp
而事實(shí)上,視圖的工作原理與這種子查詢(xún)產(chǎn)生的臨時(shí)表是一樣的,只有在用到視圖的時(shí)候,才會(huì)根據(jù)原表去動(dòng)態(tài)生成虛擬表。所以視圖的數(shù)據(jù)會(huì)根據(jù)原表的數(shù)據(jù)變動(dòng)而變動(dòng)。

舉例

`create table employee (
id int primary key auto_increment,
name varchar(20) not null,
salary decimal(10,2) not null default 1000
);

create view v_emp as select id,name from employee;`
mysql> desc v_emp;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   |     | 0       |       |
| name  | varchar(20) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
可以看到我們創(chuàng)建的視圖v_emp,成功的隱藏了員工的工資字段salary

視圖管理

刪除視圖

drop view [if exists] view_name

修改視圖

alter view v_view_name as select * from tbl_1

修改視圖結(jié)構(gòu)

alter view v_view_name (col_1,col_2...) as select a,b from tbl_1
這樣不但可以對(duì)外隱藏表名還可以隱藏字段名。

注意

視圖對(duì)查詢(xún)操作支持的最好,對(duì)增刪改有一定的限制,比如多表聯(lián)合組成的視圖,而由單個(gè)表創(chuàng)建出的視圖在插入數(shù)據(jù)時(shí),視圖中未包含的原表中的字段或者有默認(rèn)值,或者允許為空。這樣才可以保證操作成功。

對(duì)于上文關(guān)于mysql視圖知識(shí),大家覺(jué)得是自己想要的嗎?如果想要了解更多相關(guān),可以繼續(xù)關(guān)注我們的行業(yè)資訊板塊。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI