返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >SQL+HTML+PHP 一个简单论坛网站的综合开发案例(注册、登录、注销、修改信息、留言等)
  • 427
分享到

SQL+HTML+PHP 一个简单论坛网站的综合开发案例(注册、登录、注销、修改信息、留言等)

论坛网站 综合开发案例 2022-12-27 18:12:09 427人浏览
摘要

这篇文章主要介绍了SQL+HTML+PHP 一个简单论坛网站的综合开发案例(注册、登录、注销、修改信息、留言等),需要的朋友可以参考下

1 实验环境

(1)服务端:本实验基于虚拟机win2008系统的WAMP环境进行,该环境相关配置过程参考文章《【语言环境】WAMP环境部署及优化—以win2008R2SP1为操作系统》。
(2)客户端:使用浏览器访问与控制。
(3)服务端与客户端处于同一个局域网下,开启服务端的PHPstudy并确保能从客户端浏览器访问。

2 网站页面功能规划

写一个网站,在首页能看用户的留言,同时能实现包括用户注册、登录、注销、上传头像、修改个性签名等。其中网站的所有代码文件均放在默认站点位置下的文件夹jrltbbs中。

2.1 论坛首页

论坛首页文件为index.php,并具有如下功能

显示论坛标题;根据用户是否登录分支显示:已登录则显示“欢迎来到论坛首页”字样,同时显示个人中心、注销、新增留言等按钮;未登录则显示注册和登录按钮,未登录仅能看留言。网页主体用于显示留言(后续实验完善留言功能) 2.2 个人中心

个人中心相关的代码文件均放入个人中心文件夹为member中 ,个人中心相关的代码文件包含:

(1)个人中心的首页./member/index.php。具有如下功能:

个人中心页面标题显示个人中心;根据用户是否登录分支显示:已登录则显示欢迎“欢迎来到个人中心”字样、显示个人账号、头像及个性签名信息、同时显示信息修改和注销按钮;未登录则显示注册和登录按钮。

(2)注册页面./member/register.php。用于实现注册功能,具体功能如下:

设置表单用于首次收集用户信息(包括输入的账号及两次输入的密码),设置提交按钮用于提交表单数据。后台完成账号密码的验证:①账号或密码为空,则返回注册页面“提示账号密码不能为空,请重新输入”;②若两次密码不一致,则返回注册页面并提示“两次密码输入不一致”;③若账号已在数据库中存在,则返回注册页面并提示“账号已存在,请重新注册”;④账号密码没问题则存入数据库中,并返回COOKIE。

(3)接收来自注册页面的表单数据并完成账号密码验证./member/addUser.php 。具体功能如下:

接收来自注册页面的表单数据完成账号密码的验证,没问题后将表单数据写入数据库
①账号或密码为空,则返回注册页面“提示账号密码不能为空,请重新输入”;
② 若两次密码不一致,则返回注册页面并提示“两次密码输入不一致”;
③若账号已在数据库中存在,则返回注册页面并提示“账号已存在,请重新注册”;
④账号密码没问题则存入数据库中,并返回COOKIE。

(5)登录页面./member/login.php。用于用户登录,具体功能如下:

设置表单用于收集用户输入账号及密码,设置提交按钮用于提交表单数据。后台完成账号密码与数据库数据验证,账号密码正确则返回COOKIE、显示欢迎字样、并提供返回首页与个人中心按钮;账号密码错误则重定向到登录页面重新输入。暂时不考虑设置验证码的功能。

(6)注销页面./member/logout.php。用于用户注销,具体功能如下:

删除COOKIE;并根据是否注销成功分支显示:成功则提示成功并显示返回首页按钮,失败则显示注销失败。

(7)头像上传及更新页面./member/updatePhoto.php。主要用于更新头像。

头像修改页面,显示按钮让用户选择新头像,修改成功后页面显示修改成功,提供返回个人中心和返回首页等按钮。

(8)生成验证码页面./member/vcode.php。用于生成随机字符串的验证码。

2.3 实现留言功能

(1)显示留言内容页面./showmessage.php

读者点击网站首页留言标题时,跳转到此页面,用于展示该留言内容。

(2) 新增留言页面./addMessage.php。用于已登录的用户新增留言。

2.4 数据库及连接数据库

(1)数据库名称为jrlt,数据库中新建两个数据表,分别为:

users表:保存用户注册与修改的数据。该表共有5个字段,分别是id、name、passWord、photo、money。messages表:保存首页用户留言数据。该表共有4个字段,分别是id、uname、title、content。

(2) 与mysql数据库建立连接./inc/dblink.inc.php。具体功能如下:

用于实现PHP与Mysql数据库建立连接,当其他PHP脚本需要与mysql数据库建立连接时,使用include引入。 3 实验阶段一:实现注册、登录、注销和更新头像等功能 3.1 数据库

数据库的创建以及与PHP之间的连接可具体参考《【PHP基础-10】实现PHP与sql数据库之间的交互》,在本综合案例中,创建数据库及其相应的数据表步骤如下:
(1)先在数据库中创建一个jrlt的数据库。
在这里插入图片描述
(2)在该数据库下创建两个表,一个是users,一个是messages,所含字段分别如下:

在这里插入图片描述
在这里插入图片描述

3.2 论坛首页./index.php

首页位于默认站点位置下的位置为\PHP\jrltbbs\index.php。

代码如下。

<html>
<head>
    <meta charset="utf-8">
    <title>  首页----今日论坛</title>

</head>
<body>
    <h1>今日论坛BBS</h1>
    <?php
    if(isset($_COOKIE['name'])){
        echo "欢迎来到今日论坛BBS,".$_COOKIE['name']."<br/>";
        echo "<a href='./member/index.php'>个人中心</a> ";
        echo "<a href='./member/loGout.php'>注销</a>";
    }else{
       echo " <a href='./member/reGISter.php'>注册</a> ";
        echo "<a href='./member/login.php'>登录</a> ";
    }
    ?>
    <hr/>
    <h3>留言板</h3>
</body>
</html>

3.3 个人中心注册页面./member/register.php

设置表单用于收集用户输入的账号及两次输入的密码,设置提交按钮用于提交表单数据。
代码如下:

<html>
<head>
    <meta charset="utf-8">
    <title>  注册----今日论坛</title>

</head>
<body>
    <h1>今日论坛BBS</h1>
    <fORM 
        action="./addUser.php"
        method="post"
    >
        用户名:<input type="text" name="userName"><br/>
        密码:<input type="password" name="userPass1"><br/>
        确认密码:<input type="password" name="userPass2"><br/>
        <input type="submit" name="userSubmit"  value="注册">
    </form>
    <hr/>
</body>
</html>

3.4 接收来自注册页面的表单数据./member/addUser.php

接收来自注册页面的表单数据,并完成账号密码的验证:①账号或密码为空,则返回注册页面“提示账号密码不能为空,请重新输入”;②若两次密码不一致,则返回注册页面并提示“两次密码输入不一致”;③若账号已在数据库中存在,则返回注册页面并提示“账号已存在,请重新注册”;④账号密码没问题则存入数据库中,并返回COOKIE。
代码:

<meta charset="utf-8">
<?php
include "../inc/dblink.inc.php"//将数据库连接的文件包含到此文件中
?>

<?php
//var_dump($_POST);
if(isset($_POST['userSubmit'])){
    $userName=$_POST['userName'];
    $userPass1=$_POST['userPass1'];
    $userPass2=$_POST['userPass2'];
    if((bool)($userName) && (bool)($userPass1) && (bool)($userPass2)){
        // 查询数据库中是否有此用户,若无则新增,若有则要求重新输入
        $sql1="select * from users where name='".$userName."'";
        if(!$results1=mysqli_query($link,$sql1)){
            die("SQL语句有误");
        }else{
            if(!mysqli_num_rows($results1)){//非空往数据库中增加
                if($userPass1===$userPass2){
                    $sql2="insert into users(name, password) values('".$userName."', md5($userPass1))";
                    if(!$results2=mysqli_query($link,$sql2)){
                        die("SQL语句有误");
                    }else{
                        echo "注册成功,<a href='./login.php'>请登录<a>";
                    }
                }else{
                    echo "两次密码输入不一致,<a href='./register.php'>请重新注册<a>";
                }
            }else{
                echo "用户名已存在,<a href='./register.php'>请重新注册<a>";
            }
        }
        $results1=mysqli_query($link,$sql1);
    }else{
        echo "账号或密码不能为空, <a href='./register.php'>请重新注册<a>";
    }
}else{
    header("Location:./register.php");
}
//var_dump((bool)($userName));
//var_dump((bool)($userPass1));
//var_dump((bool)($userPass2));
?>

<?php
mysqli_close($link);
?>

tips:
注意:isset() 函数用于检测变量是否已设置并且非 NULL,如果已经使用 unset() 释放了一个变量之后,再通过 isset() 判断将返回 FALSE。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是 null 字符(“\0”)并不等同于 PHP 的 NULL 常量。

3.5 与mysql数据库建立连接./inc/dblink.inc.php

为其他需要连接数据库的网页提供连接,避免重复定义。

<?php
$dbHost="127.0.0.1";
$dbUser="root";
$dbPass="root";
$dbName="jrlt";
$link=mysqli_connect($dbHost, $dbUser, $dbPass, $dbName);//建立数据库连接
if(!$link){
    die(mysqli_connect_error());//捕获数据库连接时的错误信息
}
mysqli_set_charset($link,"utf-8");
?>

3.6 个人中心的首页./member/index.php

利用COOKIE信息中的name值是否存在来判断是否已登录,如果未登录,则需要先登录;如果已经登录,可以利用COOKIE信息中的name字段,将用户输入的信息与数据库中的信息进行对比,只有数据库中已有的用户才能登录。
代码如下

<?php
    include "../inc/dblink.inc.php"//将数据库连接的文件包含到此文件中
?>

<html>
<head>
    <meta charset='utf-8'>
    <title>今日论坛--个人中心</title>
</head>
<body>

    <h1>今日论坛--个人中心</h1>
    <?php
    if(isset($_COOKIE['name'])){
        $userName=$_COOKIE['name'];
        $sql="select * from users where name='". $userName."'";
        if($results=mysqli_query($link,$sql)){
            if(mysqli_num_rows($results)>0){
                $result=mysqli_fetch_assoc($results);
                echo "<hr/>";
                echo "欢迎来到您的个人中心,".$_COOKIE['name'] ."! <a href='../index.php'>返回首页</a> ";
                echo "<a href='./logout.php'>注销</a><br/>";
                echo "<hr/>";
                echo "<h3>个人信息</h3>";
                echo "帐号名:".$_COOKIE['name'] ."<br/>";
                echo "您的头像是<img src='".$result['photo']."'/> ";
                echo "<a href='./updatePhoto.php'>修改头像</a> <br/>";
                echo "帐户余额:".$result['money']." <span style='color:red;'>请联系管理员</span>";
            }else{
                die("该用户不存在");
            }
        }else{
            die("sql语句有误");
        }
    }else{
        echo "<a href='./login.php'>请登录</a>";
    }
    ?>
</body>
</html>

<?php
    mysqli_close($link);
?>

3.7 登录页面 ./member/login.php

$_POST['userSubmit']具有数据时,则判断将用户输入的信息与数据库信息进行对比,正确则可以成功登录;若$_POST['userSubmit']无数据时,则设置表单用于收集用户输入账号及密码,设置登录按钮用于提交表单数据(表单数据提交到当前页面)。
setcookie设置路径:设置成 ‘/’ 时,为网站默认路径,Cookie 对整个域名 domain 有效。 如果设置成 ‘/PHP/’, Cookie 仅仅对 domain 中 /PHP/ 目录及其子目录有效。 设置 Cookie 时的默认值为代码文件所在的当前目录。因此,为了让网站首页也能获取到cookie,需要设置路径为/PHP/jrltbbs
代码:

<?php
include "../inc/dblink.inc.php"//将数据库连接的文件包含到此文件中
?>
<html>
<head>
    <meta charset="utf-8">
    <title>  登录----今日论坛</title>

</head>
<body>
    <h1>今日论坛BBS</h1>
    <?php
    if(isset($_POST['userSubmit'])){
        if($_POST['vcode']==$_COOKIE['vcode']){
            $userName=$_POST['userName'];
            $userPass=$_POST['userPass'];
            $sql="select * from users where name='".$userName."' && password='".md5($userPass)."'";
            if($results=mysqli_query($link,$sql)){
                if(mysqli_num_rows($results)>0){
                    setcookie('name',$userName,time()+3600*24, "/PHP/jrltbbs");
                    //注意cookie的路径,不同路径的cookie认为是两条cookie
                    echo "登录成功,返回<a href='../index.php'>首页</a>或<a href='./index.php'>个人中心</a>";
                }else{
                    echo "用户名或密码错误,<a href='./login.php'>请重新登录</a>";
                }
            }else{
                die("sql语句有误");
            }

        }else{
            echo "验证码错误,<a href='./login.php'>请重新登录</a>";
        }
    }else{
        $html=<<<HTML
       <form 
        method="post">
        用户名:<input type="text" name="userName"><br/>
        密码:<input type="password" name="userPass"><br/>
        验证码:<input type="text" name="vcode"> 
        <iframe src= "./vcode.php" width="100" height=30 frameboder="0"></iframe><br>
        <input type="submit" name="userSubmit"  value="登录">
    </form>
HTML;
        echo $html;
    }
    ?>
    <hr/>
</body>
</html>

<?php
mysqli_close($link);
?>

3.8 注销页面./member/logout.php

使COOKIE过期;
代码:

<meta charset="utf-8">
<?php
if(setcookie('name',$_COOKIE['name'],time()-3600,"/PHP/jrltbbs")){
    //注意cookie的路径,不同路径的cookie认为是两条cookie
    echo "注销成功,<a href='../index.php'>返回首页</a>";
}else{
    die("error");
}
?>

3.9 更新头像./member/updatePhoto.php

用于上传或更新头像。
代码:

<meta charset='utf-8'>
<?php
include "../inc/dblink.inc.php"//将数据库连接的文件包含到此文件中
?>

<?php
if(isset($_POST['userSubmit'])){
    $userName=$_COOKIE['name'];
    $tmp_path=$_FILES['userFile']['tmp_name'];
    $path=".\\images\\".$_FILES['userFile']['name'];
    if(move_uploaded_file($tmp_path,$path)){
        $path=mysqli_real_escape_string($link,$path);
        $sql="update users set photo='".$path."'where name='".$userName."'";
        if($results=mysqli_query($link,$sql)){
            echo "图片上传成功,<a href='./index.php'>返回个人中心</a>";
        }else{
            die("sql语句有误");
        }

    }else{
        echo "图片上传失败";
    }
}else{
    $html=<<<HTML
    <form 
    method="post"
    enctype="multipart/form-data"
    >
    <input type="file" name="userFile"><br/>
    <input type="submit" name="userSubmit" value="提交">

    </form>
HTML;
    echo "$html";
}
?>

<?php
mysqli_close($link);
?>

3.10 生成验证码./member/vcode.php

用于简单生成随机的字符串验证码。

<?php
$str="";
for($i=0;$i<5;$i++){
    $str.=chr(rand(97,122));
    setcookie("vcode",$str);
}
    echo "<div style='background-color:red'>$str</div>";
?>

3.11 测试

(1)访问今日论坛首页,显示结果为:
在这里插入图片描述

(2)点击注册,输入账号1,不输入密码。
在这里插入图片描述
(3)点击注册时,页面显示如下,提示”账号或密码不能为空, 请重新注册“。
在这里插入图片描述
(4)点击重新注册,然后输入账号1,密码2,点击注册,弹出以下提示
在这里插入图片描述
(5)点击重新注册,然后输入账号a,密码1,确认密码输入2,点击注册,弹出以下提示
在这里插入图片描述
(6)点击重新注册,然后输入账号a,密码1,确认密码输入1,点击注册,弹出以下提示
在这里插入图片描述

(7)点击登录,输入账号a,密码1,并输入验证码(验证码输入不一致),尝试下会出现什么结果,点击登录,出现以下提示。
在这里插入图片描述
在这里插入图片描述
(8)点击”请重新登录“,输入账号a,密码1,并输入验证码,点击登录,
在这里插入图片描述

(8)显示登录成功,返回首页与个人中心。网页获取到服务端发来的COOKIE,返回首页与个人中心均可用。


在这里插入图片描述

(9)当点击返回首页时的页面结果如下。
在这里插入图片描述

(10)当点击返回个人中心时,页面结果如下。
在这里插入图片描述
(11)点击修改头像,选择自己的图片文件,并点击提交。
在这里插入图片描述
(12)图像上传成功,点击返回个人中心。
在这里插入图片描述
(13)返回个人中心后可以看到自己上传的头像。
在这里插入图片描述
(14)点击注销即可退出登录,系统将删除COOKIE。
在这里插入图片描述
(15)点击返回首页,可以重新回到首页
在这里插入图片描述

4 实验阶段二:完善留言板功能 4.1 ./index.php 首页功能完善

让原本的首页增加留言相关功能,包括显示留言及新增留言。
代码:

<?php
include "./inc/dblink.inc.php"//将数据库连接的文件包含到此文件中
?>

<html>
<head>
    <meta charset="utf-8">
    <title>  首页----今日论坛</title>

</head>
<body>
    <h1>今日论坛BBS</h1>
    <?php
    if(isset($_COOKIE['name'])){
        echo "欢迎来到今日论坛BBS,".$_COOKIE['name']."<br/>";
        echo "<a href='./member/index.php'>个人中心</a> ";
        echo "<a href='./member/logout.php'>注销</a> ";
    }else{
       echo " <a href='./member/register.php'>注册</a> ";
        echo "<a href='./member/login.php'>登录</a> ";
    }
    echo "<a href='./addMessage.php'>我要留言</a>";
    ?>
    <hr/>
    <h3>留言板</h3>
    <?php
    $sql="select * from messages";
    if($results=mysqli_query($link,$sql)){
        if(mysqli_num_rows($results)>0){
            echo "<table border=2>";
            echo "<tr><td>ID</td><td>AUTHOR</td><td>TITLE</td></tr>";
            while($result=mysqli_fetch_assoc($results)){
                echo "<tr><td>{$result['id']}</td><td>{$result['uname']}</td>
                <td><a href='showmessage.php?id={$result['id']}' target='_blank'>{$result['title']}</a></td></tr>";
            }
            echo "</table>";
        }else{
            echo "暂无留言内容";
        }
    }else{
        echo mysqli_error($link);
    }
    ?>
</body>
</html>

<?php
mysqli_close($link);
?>

4.2 显示留言内容页面./showmessage.php

用读者点击首页留言标题时,跳转到此页面,用于展示该留言内容。
代码:

<?php
include "./inc/dblink.inc.php"//将数据库连接的文件包含到此文件中
?>

<html>
<head>
<meta charset = "utf-8">
<title>留言论坛</title>
</head>
<body>
<h1>留言内容</h1><a href = './index.php'>返回首页</a><hr />
<?php
if(isset($_GET['id'])){
    $id=$_GET['id'];
    $sql="select * from messages where id=".$id;
    if($results=mysqli_query($link,$sql)){
        $result=mysqli_fetch_assoc($results);
        echo $result['uname'].":".$result['title']."<hr/>";
        echo $result['content'];
    }else{
        echo mysqli_error($link);
    }
}else{
    echo "id error";
}
?>
</body>
</html>
<?php
mysqli_close($link);
?>

4.3 新增留言页面./addMessage.php

作用:用于已登录的用户新增留言。
代码:

<?php
include "./inc/dblink.inc.php"//将数据库连接的文件包含到此文件中
?>
<html>
<head>
<meta charset = "utf-8">
<title>留言论坛</title>
</head>
<body>
<?php
if(isset($_COOKIE['name'])){
    $html=<<<HTML
    <form 
    method="post">
    标题:<input type="text" name="userTitle"><br/>
    留言内容:<br/>
    <textarea name="userContent"></textarea>
    <input type="submit" name="userSubmit" value="提交">
    </form>
HTML;
    echo $html."<br>";
    if(isset($_POST['userSubmit']) && isset($_POST['userTitle'])){
        $userName=$_COOKIE['name'];
        $title=mysqli_real_escape_string($link,$_POST['userTitle']) ;//将提交的文本进行转义
        $content=mysqli_real_escape_string($link,$_POST['userContent']);
        $sql="INSERT INTO `messages`( `uname`, `title`, `content`) VALUES 
        ('".$userName."','".$title."','".$content."')";
        if($results=mysqli_query($link,$sql)){
            echo "留言成功,<a href='./index.php'>返回首页</a>";
        }else{
            echo mysqli_error($link);
        }
    }else{
        echo "请提交";
    }
}else{
    echo "您还未登录,<a href='./member/login.php'>请登录</a>";
}

?>
</body>
</html>
<?php
mysqli_close($link);
?>

4.4 测试

(1)浏览器打开网站首页,首页内容如下:
在这里插入图片描述
(2)点击”我要留言“,弹出如下提示
在这里插入图片描述
(3)点击请登录,输入账号a,密码1,并输入验证码,点击提交。
在这里插入图片描述

(4)登录后点击返回首页,并点击“我要留言”。此时可以输入留言。
在这里插入图片描述
在这里插入图片描述

(5)输入自己的留言并点击提交。
在这里插入图片描述

(6)可以看到留言成功,点击返回首页。
在这里插入图片描述

(7)在首页可以看到刚刚新增的留言列表。
在这里插入图片描述
(8)点击刚刚新增的这个留言标题,查看留言内容。
在这里插入图片描述

到此这篇关于SQL+HTML+PHP 一个简单论坛网站的综合开发案例(注册、登录、注销、修改信息、留言等)的文章就介绍到这了,更多相关论坛网站的综合开发案例内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: SQL+HTML+PHP 一个简单论坛网站的综合开发案例(注册、登录、注销、修改信息、留言等)

本文链接: https://www.lsjlt.com/news/175998.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 【SQL】Oracle SQL monitor
    【SQL】Oracle SQL monitor 据说,在Oracle企业版数据库中有一个免费的工具,乃SQL优化之利器,那就是Oracle SQL monitor。下面,由DBA+社群原创专家周俊,给大家科普一下这一被埋没的神器。 ...
    807
    2023-03-22
    oracle sql monitor
  • SQL SERVER中SQL优化
    Sqlserver中尝试了一个开发的写法实现功能是扫描当前每条记录时,把下一条记录合并到当前行。用自关联CURR.RN = NEXT.RN +1(能找下一条)的方式查找时30万的数据就很慢,甚至30分钟后就内存溢出,最后调试后发现导致慢的根 ...
    974
    2023-03-22
    server sql 优化
  • SQL
    1. MySQL插入数据 语法: INSERT INTO table_name(field1,field2,field3,...fieldN) VALUES (value1,value2,value3,...valueN,) 如果数据是字符型,必须使用单引号或 ...
    432
    2023-03-22
    SQL
  • SQL 已死,但 SQL 将永存!
    在 SQL 被引入的 47 年中,它经历了许多数据库的诞生和消亡,也经历了许多数据处理方式的诞生和消亡。以下为译文:四十七年前,两位年轻的IBM研究人员在数据库上提出了一种新的语言,这是一种关系型语言,它奉行一切数据可以被声明性地操作和容易 ...
    347
    2023-03-22
    sql 已死 永存
  • SQL Server - 监控 - Running SQL 抓取
    一、 创建一张表用于存放抓取到的Running SQLUSE [dba_monitor]GOCREATE TABLE [running_sql_monitor]([id] [int] IDENTITY(1,1) NOT NULL PRIMARY KEY ...
    553
    2023-03-22
    SQL Server - 监控 - Running SQL 抓取 数据库入门 数据库基础教程 数据库 mysql
  • SQL优化之SQL 进阶技巧(上)
    由于工作需要,最近做了很多 BI 取数的工作,需要用到一些比较高级的 SQL 技巧,总结了一下工作中用到的一些比较骚的进阶技巧,特此记录一下,以方便自己查阅,主要目录如下: SQL 的书写规范 SQL 的一些进阶使用技巧 SQL 的优化方法SQL 的书写规范在 ...
    476
    2023-03-22
    SQL优化之SQL 进阶技巧(上)
  • SQL优化之SQL 进阶技巧(下)
    上文( SQL优化之SQL 进阶技巧(上) )我们简述了 SQL 的一些进阶技巧,一些朋友觉得不过瘾,我们继续来下篇,再送你 10 个技巧一、 使用延迟查询优化 limit [offset], [rows]经常出现类似以下的 SQL 语句:SELECT * F ...
    764
    2023-03-22
    SQL优化之SQL 进阶技巧(下)
  • SQL Server索引维护的sql语句
    这篇文章主要介绍“SQL Server索引维护的sql语句”,在日常操作中,相信很多人在SQL Server索引维护的sql语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL Server索引维护的sq ...
    183
    2023-03-22
    sql server
  • 动态sql如何防止sql注入
    动态sql防止sql注入的示例:在对应的数据库中添加以下sql语句:DECLARE @variable NVARCHAR(100)DECLARE @SQLString NVARCHAR(1024)DECLARE @ParmDefinitio ...
    908
    2023-03-22
    sql注入 动态sql
  • 连接sql
    java连接sqlserver1 创建 Dynamic Web Project项目在WebContent/WEB-INF/lib中添加sqljdbc42.jar2 在class文件里连接数据库Class.forName("com.microso ...
    495
    2023-03-22
    连接 sql
  • sql 基础
    去除数据库登录界面的所有用户信息C:UsersasusAppDataRoamingMicrosoftSQL Server Management Studio14.0SqlStudio.bin查询姓名中第二个字与第三个字相同:select * from Stud ...
    707
    2023-03-22
    sql 基础
  • SQL优化
    1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。          2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:     selec ...
    863
    2023-03-22
    SQL优化
  • sql server
    清空表数据命令 truncate  table User(表名称) 该命令会把标识一起清空 进行重置 ...
    560
    2023-03-22
    sql server
  • sql函数
    除数为0处理:decode(sum(ZK_QPQYJE),0,0,sum(ZK_BNTZMB)/sum(ZK_QPQYJE))*100nddcl ...
    178
    2023-03-22
    sql函数
  • SQL Mode
    原文:https://www.cnblogs.com/smallzhen/p/14630222.html ...
    944
    2023-03-22
    SQL Mode 数据库入门 数据库基础教程
  • SQL notebook
    case ... when ... then ... else ... end是一个固定搭配select Date As 比赛日期, SUM(case when Win=‘胜‘ then 1 else 0 end) 胜, SUM(case when Win=‘ ...
    817
    2023-03-22
    SQL notebook 数据库入门 数据库基础教程
  • SQL约束
    SQL约束必须在奋斗中求生存,求发展。约束 constraints非空约束 not null#创建表的时候有如下字段NAME VARCHAR(30) NOT NULL#这里添加了非空约束,name的值不能为null,否则报错唯一约束 unique唯一约束:插入 ...
    830
    2023-03-22
    SQL约束
  • SQL索引
    SQL索引遥远的将不再遥远,平凡的已不再平凡。索引 index索引是一种排好序的快速查找的数据结构,它帮助数据库高效的进行数据的检索。在数据之外,数据库系统还维护着满足特定查找算法的数据结构(额外的存储空间),这些数据结构以某种方式指向数据,这样就可以在这些数 ...
    379
    2023-03-22
    SQL索引
  • SQL 命令
    SELECT - 从数据库中提取数据UPDATE - 更新数据库中的数据DELETE - 从数据库中删除数据INSERT INTO - 向数据库中插入新数据CREATE DATABASE - 创建新数据库ALTER DATABASE - 修 ...
    130
    2023-03-22
    11
  • 报表SQL
    --子查询方式select r.organno,r.organname,sum(r.vrc),sum(r.psatf),sum(r.vtf),(select a.rate from tb_accrate a where a.organno= ...
    9689
    2023-03-22
    sql 报表
热门问答
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作