欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

mysql(6)-mysql的視圖功能和存儲過程

? ? ? ?本篇博客介紹的MySQL的視圖功能和存儲過程以及它們的作用和實例說明 !

成都創(chuàng)新互聯(lián)公司長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為潞州企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站制作,潞州網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

?一 . MySQL視圖VIEW

1.視圖簡介

在MySQL中視圖功能就比較類似于Exel中的篩選功能

通俗理解就是將一張表中經(jīng)常要查詢的列和記錄創(chuàng)建成一張?zhí)摂M的表 , 其實viewer視圖中存放的是select語句 . 視圖中看到的數(shù)據(jù)會隨著原始表格的更新而動態(tài)更新 .

定義視圖的篩選可以來自當前或其它數(shù)據(jù)庫的一個或多個表,或者其它視圖。通過視圖進行查詢沒有任何限制,通過它們進行數(shù)據(jù)修改時的限制也很少.
視圖是存儲在數(shù)據(jù)庫中的SQL查詢語句,它主要出于原因有: 安全原因,視圖可以隱藏一些數(shù)據(jù),如:一些敏感的信息使復雜的查詢易于理解和使用。

??

2. 創(chuàng)建視圖

語法 :?CREATE [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE} ] ?
? ? ? ? ? VIEW 視圖名 [(字段1,字段2…)]
? ? ? ? ? AS ?SELECT語句
? ? ? ? ? [WITH [CASCADED | LOCAL] CHECK OPTION ];

示例 : 創(chuàng)建一個名為view_user 的視圖 , 功能為查詢mysql庫中的user表中的user , host , password 字段信息

CREATE VIEW view_user ASSELECT user,host,password FROM mysql.user;

mysql(6)-mysql的視圖功能和存儲過程

? ? ??

上述示例為單表視圖 , 視圖也可以創(chuàng)建多表視圖, 例 :

在test庫中創(chuàng)建兩張表 ,一張產(chǎn)品表product , 用來存放商品名字和對應的價格 ; 一張采購purshase表 , 用來存放產(chǎn)品信息和數(shù)量

product表準備:

mysql(6)-mysql的視圖功能和存儲過程

purchase表準備:

mysql(6)-mysql的視圖功能和存儲過程

?創(chuàng)建多表視圖 :

mysql>?create?view?purchase_detail?
????????as?select
????????product.name?as?name,?product.price?as?price,?
????????purchase.quantity?as?quantity,?
????????product.price?*?purchase.quantity?as??total_value
????????from?product,purchase
????????where?product.name?=?purchase.name;??????#等值連接(即name相同的記錄進行組合)

mysql(6)-mysql的視圖功能和存儲過程

3. 查看視圖

  • show ?tables ? ? ? ? ? ? ? ? ? ?#視圖名可以通過表名查看 , 因為本質(zhì)它就是一張?zhí)摂M的表

  • show ?table ?status ? ? ? ? #查看表的狀態(tài)

    ? ? 示例 : 查看書籍庫test庫中視圖及所有表詳細信息--->show ?table ?status ?from ?test\G

  • show ?create ?view ? ? ? ? ?#查看視圖定義信息

? ? ? ? ? ?示例 : show ?create ?view ?視圖名\G

  • desc ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#查看視圖結(jié)構(gòu)

? ? ? ? ? ?示例 : desc ?視圖名

4. 修改視圖

方法一 : 直接刪除視圖再新建視圖

方法二 : alter修改視圖

? ? ?? 語法:

? ? ? ? ? ? ?ALTER VIEW 視圖名
? ? ? ? ? ? ?AS ?SELECT語句;
? ? ? ?示例:
? ? ? ? ? ? ALTER VIEW view_user
? ? ? ? ? ? AS ?SELECT user,password FROM mysql.user;

5. 刪除視圖

語法 :?DROP VIEW view_name


?二 . MySQL存儲過程

? ? ?

作用 : 定義數(shù)據(jù)存儲過程 , 存儲過程中允許對庫 , 表 , 記錄做增刪改查等操作 , 類似于shell中的函數(shù)作用


簡介:

存儲過程(Stored Procedure)是在大型數(shù)據(jù)庫系統(tǒng)中,一組為了完成特定功能的SQL 語句集,存儲在數(shù)據(jù)庫中,經(jīng)過第一次編譯后調(diào)用不需要再次編譯,用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象。

語法:

? ? ? ? create ?procedure ?存儲過程名()

? ? ? ? BEGIN

? ? ? ? ? ? ?一定功能的sql語句集

? ? ? ? END

? ? ? ? call ?存儲過程名(); ? ? ? ? ? #調(diào)用存儲過程

實例 :

要求 :? ? ??

創(chuàng)建一個名稱為dba的庫文件,在dba庫中創(chuàng)建一張名稱為tb1的表,表中有id、name這兩個字段。創(chuàng)建一個名稱為ad1的存儲過程,ad1存儲過程的功能是插入三條記錄到tb1表中。

1.步驟 , 創(chuàng)建tb1表

mysql(6)-mysql的視圖功能和存儲過程?

2.創(chuàng)建ad1存儲過程

mysql(6)-mysql的視圖功能和存儲過程

?3.查看tb1表后調(diào)用存儲過程 , 在次查看tb1表看看有什么不同

mysql(6)-mysql的視圖功能和存儲過程

存儲過程(procedure)和函數(shù)(function)的主要區(qū)別:

存儲過程是針對表中的數(shù)據(jù)記錄進行處理的SQL語句集合,就類似于shell腳本。
函數(shù)通常是針對記錄中的某個字段的值進行處理。

? ? ?本篇完 !

? ? ? ? ? ? ?

分享標題:mysql(6)-mysql的視圖功能和存儲過程
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article24/jcoije.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄品牌網(wǎng)站制作域名注冊小程序開發(fā)外貿(mào)網(wǎng)站建設(shè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司