MySQL視圖的應(yīng)用之創(chuàng)建視圖
發(fā)表時間:2023-08-31 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]MySQL視圖的應(yīng)用之創(chuàng)建視圖視圖也稱虛表,包括執(zhí)行某個查詢返回的一組記錄。視圖可以簡化獲取數(shù)據(jù)的方法,并通過別名來實現(xiàn)抽象查詢。為了簡化查詢,在實際項目開發(fā)過程中,通?梢圆捎脼閿(shù)據(jù)庫中的某個表建立視圖的方式。在建立的視圖中只有開發(fā)人員所關(guān)心的字段。分別在輸入框中輸入登錄用戶的用戶名和密碼,單擊...
MySQL視圖的應(yīng)用之創(chuàng)建視圖視圖也稱虛表,包括執(zhí)行某個查詢返回的一組記錄。視圖可以簡化獲取數(shù)據(jù)的方法,并通過別名來實現(xiàn)抽象查詢。
為了簡化查詢,在實際項目開發(fā)過程中,通?梢圆捎脼閿(shù)據(jù)庫中的某個表建立視圖的方式。在建立的視圖中只有開發(fā)人員所關(guān)心的字段。分別在輸入框中輸入登錄用戶的用戶名和密碼,單擊“進(jìn)入”按鈕后,如果用戶輸入錯誤的用戶名或密碼,則給出錯誤提示,反之如果輸入的用戶名和密碼正確,則提示成功登錄。
技術(shù)要點
MySQL中創(chuàng)建視圖可以通過create view語句來實現(xiàn),具體創(chuàng)建格式如下:
$create [ or deplace] [algorithm={merge temptable undefined}] view view_name[( column_list)] as select_statement [with [cascaded local] check option]
algorithm={merge temptable undefined}屬性用于優(yōu)化MySQL視圖的執(zhí)行,該屬性有3個可用的設(shè)置。下面將介紹這3個設(shè)置的使用方法。
merge:該參數(shù)使MySQL執(zhí)行視圖時傳入的任何子句合并到視圖的查詢定義中。
temptable:如果視圖低層表中的數(shù)據(jù)有變化,這些變化將在下次通過表時立即反映出來。
undefined:當(dāng)查詢結(jié)果和視圖結(jié)果為一一對應(yīng)關(guān)系時,MySQL將algorithm設(shè)定為temptable。
view_name:新建視圖的名稱。
select_statement:SQL查詢語句用于限定虛表的內(nèi)容。
mysql創(chuàng)建視圖實現(xiàn)過程
由于本實例采用視圖建立了虛表,所以應(yīng)首先在“命令提示符”下建立視圖,就可以在命令提示符下建立視圖。創(chuàng)建視圖的代碼如下:
create view chkadmin as select username, password from user
在“命令提示符”中創(chuàng)建視圖如下:
創(chuàng)建完視圖chkadmin后,該視圖中只含有username和password 兩個字段,這樣會給密碼驗證工作帶來很大的方便。
然后我們創(chuàng)建用戶輸入登錄界面,在連接數(shù)據(jù)庫,判斷用戶是否單擊了“進(jìn)入”按鈕,如果是則通過視圖chkadmin對用戶身份進(jìn)行驗證。該過程代碼如下:
<form method="post" action="3.php" name="form1">
用戶名:<input type="text" name="username" ><br>
密 碼:<input type="password" name="pwd"><br>
<input type="submit" name="Submit" value="進(jìn)入">
<input type="submit" value="重置">
</form>
<?php
if($_POST['Submit']){
$name = $_POST['username'];
$password = $_POST['pwd'];
header("Content-Type:text/html; charset=utf-8");
$link = mysqli_connect("localhost", "root", "root");
$conn = mysqli_select_db($link, "php_cn");
$sql = ("select * from chkadmin where username='".$name."' and password = '".$password."'");
$result = mysqli_query($link, $sql);
$res = mysqli_fetch_array($result, MYSQLI_ASSOC);
if ($res==false){
echo "<script>alert('用戶名或者密碼輸入錯誤');history.back();</script>";
exit();
}else{
echo "<br><p align='center'>登錄成功!</p>";
}
}
當(dāng)我們輸入錯誤的信息的時候,如下圖:
當(dāng)我們輸入正確信息的時候,如下圖:
那么我們關(guān)于MySQL創(chuàng)建視圖我們就介紹到這里,小伙伴們是不是已經(jīng)掌握了呢,還沒有掌握的小伙伴可以再仔細(xì)的閱讀一篇,下一篇我們繼續(xù)介紹MySQL視圖的應(yīng)用,具體請閱讀《MySQL視圖的應(yīng)用之修改視圖》!
【相關(guān)教程推薦】
1.【MYSQL在線免費視頻教程】
2. 相關(guān)視頻課程推薦: 《韓順平 2016年 最新MySQL基礎(chǔ)視頻教程》
以上就是MySQL視圖的應(yīng)用之創(chuàng)建視圖的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。