MySQL视图的应用之创建视图
视图也称虚表,包括执行某个查询返回的一组记录。视图可以简化获取数据的方法,并通过别名来实现抽象查询。
为了简化查询,在实际项目开发过程中,通常可以采用为数据库中的某个表建立视图的方式。在建立的视图中只有开发人员所关心的字段。分别在输入框中输入登录用户的用户名和密码,单击“进入”按钮后,如果用户输入错误的用户名或密码,则给出错误提示,反之如果输入的用户名和密码正确,则提示成功登录。
相关mysql视频教程推荐:《mysql教程》
技术要点
MySQL中创建视图可以通过create view语句来实现,具体创建格式如下:
$create [ or deplace] [algorithm={merge | temptable | undefined}] view view_name[( column_list)] as select_statement [with [cascaded | local] check option]
algorithm={merge | temptable | undefined}属性用于优化MySQL视图的执行,该属性有3个可用的设置。下面将介绍这3个设置的使用方法。
merge:该参数使MySQL执行视图时传入的任何子句合并到视图的查询定义中。
temptable:如果视图低层表中的数据有变化,这些变化将在下次通过表时立即反映出来。
undefined:当查询结果和视图结果为一一对应关系时,MySQL将algorithm设定为temptable。
view_name:新建视图的名称。
select_statement:SQL查询语句用于限定虚表的内容。
mysql创建视图实现过程
由于本实例采用视图建立了虚表,所以应首先在“命令提示符”下建立视图,就可以在命令提示符下建立视图。创建视图的代码如下:
create view chkadmin as select username, password from user
在“命令提示符”中创建视图如下:
创建完视图chkadmin后,该视图中只含有username和password 两个字段,这样会给密码验证工作带来很大的方便。
然后我们创建用户输入登录界面,在连接数据库,判断用户是否单击了“进入”按钮,如果是则通过视图chkadmin对用户身份进行验证。该过程代码如下:
<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="进入"> <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>"; } }
当我们输入错误的信息的时候,如下图:
当我们输入正确信息的时候,如下图:
那么我们关于MySQL创建视图我们就介绍到这里,小伙伴们是不是已经掌握了呢,还没有掌握的小伙伴可以再仔细的阅读一篇,下一篇我们继续介绍MySQL视图的应用,具体请阅读《MySQL视图的应用之修改视图》!
【相关教程推荐】
1.【MYSQL在线免费视频教程】
2. 相关视频课程推荐: 《韩顺平 2016年 最新MySQL基础视频教程》
以上就是MySQL视图的应用之创建视图的详细内容,更多请关注php中文网其它相关文章!
已抢65525个
抢已抢30076个
抢已抢16426个
抢已抢8355个
抢已抢10784个
抢已抢22181个
抢