English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL 데이터 쿼리

MySQL 데이터베이스는 SQL SELECT 문을 사용하여 데이터를 쿼리합니다.

mysql> 명령 프롬프트 창에서 데이터베이스에서 데이터를 쿼리하거나 PHP 스크립트를 사용하여 데이터를 쿼리할 수 있습니다.

문법

다음은 MySQL 데이터베이스에서 데이터를 쿼리하는 데 일반적인 SELECT 문법입니다:

SELECT column_name,column_name
FROM table_name
[WHERE 문]
[LIMIT N][OFFSET M]
  • 쿼리 문장에서는 하나나 여러 개의 테이블을 사용할 수 있으며, 테이블 간은 콤마(,)로 구분하고 WHERE 문을 사용하여 쿼리 조건을 설정할 수 있습니다.

  • SELECT 명령은 하나나 여러 기록을 읽을 수 있습니다.

  • 를 사용하여*를 대신 사용하면 다른 필드 대신 모든 필드 데이터가 SELECT 문에 반환됩니다

  • WHERE 문을 사용하여 어떤 조건도 포함할 수 있습니다.

  • LIMIT 속성을 사용하여 반환할 기록 수를 설정할 수 있습니다.

  • OFFSET를 사용하여 SELECT 문에서 쿼리 시작 데이터의 오프셋을 지정할 수 있습니다. 기본적으로 오프셋은 0입니다.

명령 프롬프트를 통해 데이터를 가져옵니다

SQL SELECT 명령을 통해 MySQL 데이터 테이블 w3codebox_tbl의 데이터를 반환합니다:

온라인 예제

다음 예제는 데이터 테이블 w3codebox_tbl의 모든 레코드:

select * from w3codebox_tbl;

출력 결과:

PHP 스크립트를 사용하여 데이터를 가져옵니다

PHP 함수 mysqli_query() 및 SQL SELECT 명령을 사용하여 데이터를 가져옵니다.

이 함수는 SQL 명령을 실행한 후 PHP 함수 mysqli_fetch_array()를 통해 모든 쿼리 데이터를 사용하거나 출력하는 데 사용됩니다.

mysqli_fetch_array() 함수는 결과 집에서 한 행을 관련 배열로, 또는 숫자 배열로, 또는 둘 다로 가져옵니다 결과 집에서 가져온 행에 따라 배열을 생성하여 반환하며, 더 이상 행이 없으면 false를 반환합니다.

다음 예제는 데이터 테이블 w3codebox_tbl에서 모든 기록을 읽습니다.

온라인 예제

다음 예제를 통해 데이터 테이블 w3codebox_tbl의 모든 기록.

mysqli_fetch_array MYSQLI_ASSOC 파라미터를 사용하여 데이터를 가져옵니다:

<?php
$dbhost = 'localhost';  // mysql 서버 호스트 주소
$dbuser = 'root';            // mysql 사용자 이름
$dbpass = '123456';          // mysql 사용자 이름 비밀번호
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('연결 실패: ' . mysqli_error($conn));
}
// 编码 설정, 중국어 인쇄물 혼란 방지
mysqli_query($conn, "set names utf8');
 
$sql = 'SELECT w'3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3codebox_tbl';
 
mysqli_select_db($conn, 'w'3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('데이터 읽기 실패: ' . mysqli_error($conn));
}
echo '<h2>기본 가이드 mysqli_fetch_array 테스트</h2">;</td>
echo '<table border="1><tr><td>가이드 ID</td><td>제목</td><td>저자</td><td>제출 날짜</td></tr>";
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
    echo "<tr><td> {$row['w3codebox_id'}</td> ".
         "<td>{$row['w3codebox_title']} </td> ".
         "<td>{$row['w3codebox_author'} </td> ".
         "<td>{$row['submission_date']} </td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

출력 결과는 다음과 같습니다:

위의 예제에서, 각 행의 기록을 변수 $row에 할당한 후 각 값을 출력합니다.

주의:문자열에서 변수를 사용할 경우, 변수를 괄호로 감싸주세요.

위의 예제에서 PHP mysqli_fetch_array() 함수의 두 번째 파라미터는 MYSQLI_ASSOC, 이 파라미터를 설정하여 쿼리 결과가 관련 배열로 반환되도록 할 수 있으며, 필드 이름을 배열의 인덱스로 사용할 수 있습니다.

PHP는 다른 함수를 제공합니다 mysqli_fetch_assoc(), 이 함수는 결과 집에서 한 행을 관련 배열로 가져옵니다. 결과 집에서 가져온 행에 따라 관련 배열을 생성하여 반환하며, 더 이상 행이 없으면 false를 반환합니다.

온라인 예제

시도해 보세요, 이 예제는 다음과 같이 사용됩니다 mysqli_fetch_assoc() 함수를 사용하여 데이터 테이블 w를 출력합니다}}3codebox_tbl의 모든 레코드:

mysqli_fetch_assoc 사용하여 데이터 가져오기:

<?php
$dbhost = 'localhost:3306';  // mysql 서버 호스트 주소
$dbuser = 'root';            // mysql 사용자 이름
$dbpass = '123456';          // mysql 사용자 이름 비밀번호
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('연결 실패: ' . mysqli_error($conn));
}
// 编码 설정, 중국어 인쇄물 혼란 방지
mysqli_query($conn, "set names utf8');
 
$sql = 'SELECT w'3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3codebox_tbl';
 
mysqli_select_db($conn, 'w'3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('데이터 읽기 실패: ' . mysqli_error($conn));
}
echo '<h2>기본 강의 mysqli_fetch_assoc 테스트</h2">;</td>
echo '<table border="1><tr><td>가이드 ID</td><td>제목</td><td>저자</td><td>제출 날짜</td></tr>";
while($row = mysqli_fetch_assoc($retval))
{
    echo "<tr><td> {$row['w3codebox_id'}</td> ".
         "<td>{$row['w3codebox_title']} </td> ".
         "<td>{$row['w3codebox_author'} </td> ".
         "<td>{$row['submission_date']} </td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

출력 결과는 다음과 같습니다:

PHP mysqli_fetch_array() 함수의 두 번째 파라미터로 상수 MYSQLI_NUM를 사용하여 숫자 배열을 반환할 수도 있습니다.

온라인 예제

다음 예제에서 사용 MYSQLI_NUM 파라미터로 데이터 테이블 w3codebox_tbl의 모든 레코드:

mysqli_fetch_array MYSQLI_NUM 파라미터로 데이터 가져오기:

<?php
$dbhost = 'localhost:3306';  // mysql 서버 호스트 주소
$dbuser = 'root';            // mysql 사용자 이름
$dbpass = '123456';          // mysql 사용자 이름 비밀번호
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('연결 실패: ' . mysqli_error($conn));
}
// 编码 설정, 중국어 인쇄물 혼란 방지
mysqli_query($conn, "set names utf8');
 
$sql = 'SELECT w'3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3codebox_tbl';
 
mysqli_select_db($conn, 'w'3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('데이터 읽기 실패: ' . mysqli_error($conn));
}
echo '<h2>기본 가이드 mysqli_fetch_array 테스트</h2">;</td>
echo '<table border="1><tr><td>가이드 ID</td><td>제목</td><td>저자</td><td>제출 날짜</td></tr>";
while($row = mysqli_fetch_array($retval, MYSQLI_NUM))
{
    echo "<tr><td> "{$row[0]}</td> ".
         "<td>{$row[1}</td></td> ".
         "<td>{$row[2}</td></td> ".
         "<td>{$row[3}</td></td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

출력 결과는 다음과 같습니다:

위 세 가지 예제의 출력 결과는 모두 동일합니다.

메모리 해제

SELECT 문을 실행한 후, 커서 메모리를 해제하는 것이 좋은 습관입니다.

PHP 함수 mysqli_free_result()를 사용하여 메모리를 해제할 수 있습니다.

다음 예제는 이 함수의 사용 방법을 보여줍니다.

온라인 예제

다음 예제를 시도:

mysqli_free_result() 사용하여 메모리 해제:

<?php
$dbhost = 'localhost:3306';  // mysql 서버 호스트 주소
$dbuser = 'root';            // mysql 사용자 이름
$dbpass = '123456';          // mysql 사용자 이름 비밀번호
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if (!$conn)
{
    die('연결 실패: ' . mysqli_error($conn));
}
// 编码 설정, 중국어 인쇄물 혼란 방지
mysqli_query($conn, "set names utf8');
 
$sql = 'SELECT w'3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3codebox_tbl';
 
mysqli_select_db($conn, 'w'3codebox');}}
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
    die('데이터 읽기 실패: ' . mysqli_error($conn));
}
echo '<h2>기본 가이드 mysqli_fetch_array 테스트</h2">;</td>
echo '<table border="1><tr><td>가이드 ID</td><td>제목</td><td>저자</td><td>제출 날짜</td></tr>";
while($row = mysqli_fetch_array($retval, MYSQLI_NUM))
{
    echo "<tr><td> "{$row[0]}</td> ".
         "<td>{$row[1}</td></td> ".
         "<td>{$row[2}</td></td> ".
         "<td>{$row[3}</td></td> ".
         "</tr>";
}
echo '</table>';
// 메모리 해제
mysqli_free_result($retval);
mysqli_close($conn);
?>

출력 결과는 다음과 같습니다: