>  기사  >  데이터 베이스  >  SQL 집계 함수를 통해 추가, 삭제, 수정의 영향을 받는 행 수를 얻는 방법은 무엇입니까?

SQL 집계 함수를 통해 추가, 삭제, 수정의 영향을 받는 행 수를 얻는 방법은 무엇입니까?

黄舟
黄舟원래의
2017-05-20 17:13:481880검색

SQL 집계 함수를 통해 추가, 삭제, 수정의 영향을 받는 행 수를 어떻게 구하나요?

추가 조치를 취하기 전에 쿼리에 의해 반환되거나 영향을 받은 행 수를 계산할 수 있는 기능은 일반적으로 결과를 페이지에 표시하거나 생성하려는 경우에 매우 유용합니다. 그러면 영향을 받은 행 수를 가져오는 기능은 어떻게 구현됩니까?

1. SQL 집계 함수 COUNT를 통해 지연된 결과 레코드 수를 계산합니다.

COUNT는 쿼리 또는 부분의 행 수를 반환합니다. 일반적으로 함께 사용되는 DINSTINCT와 동일합니다. SQL의 집계 함수 COUNT는 다양한 데이터베이스에서 널리 지원됩니다!

2. PDOStatement->rowCount() 메서드를 통해 영향을 받은 행 수를 반환합니다.

PDOStatement->rowCount로 가져옵니다. () 메소드 UPDATE, INSERT 또는 DELECTE 쿼리의 영향을 받는 행 수입니다. rowCount() 메소드는 일반적인 PHP 애플리케이션에서는 일반적이지 않지만 PDOStatement->execute를 호출한 후 영향을 받은 행 수를 계산할 수 있습니다.

3. 적용 예시

SQL 집계 함수 COUNT를 통해 쿼리로 반환된 레코드 수를 통계하는 코드는 다음과 같습니다. :

<form action="5.php" name="form1" method="post">
    查询关键字:<input type="text" name="username" id="nr">
    <input type="submit" name="Submit" value="查询">
</form>
<?php
header("Content-Type:text/html; charset=utf-8");    //设置页面的编码格式
if(isset($_POST[&#39;Submit&#39;]) && $_POST[&#39;Submit&#39;]=="查询") {
    $dbms = "mysql";                                  // 数据库的类型
    $dbName ="php_cn";                                //使用的数据库名称
    $user = "root";                                   //使用的数据库用户名
    $pwd = "root";                                    //使用的数据库密码
    $host = "localhost";                              //使用的主机名称
    $dsn = "$dbms:host=$host;dbname=$dbName";
    try {
        $dbh = new PDO($dsn, $user, $pwd);//初始化一个PDO对象,就是创建了数据库连接对象$pdo
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $sql = "SELECT COUNT(*) FROM user WHERE username = :id";//需要执行的sql语句
        $stmt = $dbh->prepare($sql);//准备查询语句
        $stmt->bindParam(&#39;:id&#39;, $_POST[&#39;nr&#39;], PDO::PARAM_STR);            //执行查询语句,并返回结果集
        $result = $stmt->execute();
        echo &#39;There are&#39;,$stmt->fetchColumn(),&#39;rows returned.&#39;;
    }catch (PDOException $e){
        echo &#39;PDO Exception Caught.&#39;;
        echo &#39;Error with the database:<br>&#39;;
        echo &#39;SQL Query:&#39;,$sql;
        echo &#39;Error:&#39;.$e->getMessage();
    }
}
?>

이 인스턴스를 실행하고 텍스트 상자에 쿼리할 데이터베이스 이름을 입력한 후 "Query" 버튼을 클릭하면 아래와 같이 쿼리된 결과의 행 수가 표시됩니다.

SQL 집계 함수를 통해 추가, 삭제, 수정의 영향을 받는 행 수를 얻는 방법은 무엇입니까?

참고:

UPDATE 및 DELETE 문을 사용할 때는 언제든지 WHERE 절을 추가해야 합니다. 어떤 경우에도 데이터베이스가 업데이트되거나 테이블에서 삭제될 수 있습니다.

위 내용은 SQL 집계 함수를 통해 추가, 삭제, 수정의 영향을 받는 행 수를 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.