MySQL 쿼리 데이터
MySQL 쿼리 데이터
MySQL 데이터베이스는 SQL SELECT 문을 사용하여 데이터를 쿼리합니다.
mysql> 명령 프롬프트 창을 통해 데이터베이스의 데이터를 쿼리하거나 PHP 스크립트를 통해 데이터를 쿼리할 수 있습니다.
구문
다음은 MySQL 데이터베이스에서 데이터를 쿼리하기 위한 일반적인 SELECT 구문입니다.
SELECT column_name,column_name FROM table_name[WHERE Clause][LIMIT N][ OFFSET M]
쿼리에서 문에서는 하나 이상의 테이블을 사용하고, 테이블을 쉼표(,)로 구분하고, WHERE 문을 사용하여 쿼리 조건을 설정할 수 있습니다.
SELECT 명령은 하나 이상의 레코드를 읽을 수 있습니다.
별표(*)를 사용하여 다른 필드를 바꿀 수 있습니다.
SELECT 문은 테이블의 모든 필드 데이터를 반환합니다. 조건을 포함하려면 WHERE 문을 사용하세요.
LIMIT 속성을 사용하여 반환되는 레코드 수를 설정할 수 있습니다.
OFFSET을 사용하여 SELECT 문이 쿼리를 시작하는 데이터 오프셋을 지정할 수 있습니다. 기본적으로 오프셋은 0입니다.
명령 프롬프트를 통해 데이터 가져오기
다음 예에서는 SQL SELECT 명령을 통해 MySQL을 가져옵니다. 데이터 테이블 사용자의 데이터:
인스턴스
다음 예는 데이터 테이블 사용자의 모든 레코드를 반환합니다.
읽기 데이터 테이블:
select * from user;
PHP 스크립트를 사용하여 데이터 가져오기
PHP 함수 mysqli_query 사용 () 및 SQL SELECT 명령을 사용하여 데이터를 얻습니다.
이 함수는 SQL 명령을 실행한 후 PHP 함수 mysqli_fetch_array()를 통해 쿼리된 모든 데이터를 사용하거나 출력하는 데 사용됩니다.
mysqli_fetch_array() 함수는 결과 집합에서 연관 배열, 숫자 배열 또는 둘 다로 행을 가져오며 결과 집합에서 가져온 행을 기반으로 배열을 반환하거나 더 이상 없으면 false를 반환합니다. 행.
다음 예에서는 데이터 테이블 사용자로부터 모든 레코드를 읽습니다.
예제
데이터 테이블 사용자의 모든 레코드를 표시하려면 다음 예를 시도해 보세요.
header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // mysql 서버 호스트 주소
$dbuser = 'root'; // mysql 사용자 이름
$dbpass = 'root';
if(!$conn )
{
die('연결 실패: ' .mysqli_error ($conn));
}
// 중국어 문자 깨짐을 방지하도록 인코딩 설정
mysqli_query ($conn , "set names utf8");
$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';
mysqli_select_db( $con n, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('데이터를 읽을 수 없습니다: ' . mysqli_error($conn ));
}
echo '<h2>PHP 중국어 웹사이트 mysqli_fetch_array 테스트<h2> ;';
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['user_id']}</td> ".
"<td>{$row['user_title']} </td> ".
" "<td> $row['user_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() 함수를 사용하여 데이터 테이블 사용자의 모든 레코드를 출력하는 다음 예를 시도해 보십시오.
<?php
header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // mysql 서버 호스트 주소
$dbuser = 'root'; // mysql 사용자 이름
$dbpass = 'root';
if(!$conn )
{
die('연결 실패: ' .mysqli_error ($conn));
}
// 중국어 문자 깨짐을 방지하도록 인코딩 설정
mysqli_query ($conn , "set names utf8");
$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';
mysqli_select_db( $ conn, 'DEMO' );
$retval = mysqli_query( $conn, $sql );
if (! $retval )
{
die('데이터를 읽을 수 없습니다: ' . mysqli_error($conn ));
}
echo '<h2>PHP 중국어 웹사이트 mysqli_fetch_assoc test<h2> ';
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 ['user_id']}</td> ".
"<td>{ $row['user_title']} </td> ".
" "<td>{$row[ 'user_author']} </td> ".
" ['submission_date']} </td> ".
" </tr>";
}
echo '< ;/table>';
mysqli_close($conn);
?>
PHP mysqli_fetch_array() 함수의 두 번째 매개변수로 MYSQLI_NUM 상수를 사용하여 숫자 배열을 반환할 수도 있습니다.
예
다음 예에서는 MYSQLI_NUM 매개변수를 사용하여 데이터 테이블 사용자의 모든 레코드를 표시합니다.
< ?php
header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // mysql 서버 호스트 주소
$dbuser = ' root'; / mysql 사용자 이름
$dbpass = 'root'; // mysql 사용자 이름 및 비밀번호
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
die('Connection failed: ' . mysqli_error($conn));
}
//한자 깨짐 방지를 위한 인코딩 설정
mysqli_query($conn, "set names utf8" );
$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';
mysqli_select_db( $conn, 'demo' );
$ retval = mysqli_query ( $conn, $sql );
if(! $retval )
{
die('데이터를 읽을 수 없습니다: ' . mysqli_error($conn));
}
echo ' <h2>PHP 중국어 웹사이트 mysqli_fetch_array test<h2>';
echo '<table border="1"><tr><td>튜토리얼 ID</td><td> 제목
while($row = mysqli_fetch_array($retval, MYSQLI_NUM))
{
echo "<tr><td> {$row[0]}</td> ".
"<td>{$row[1]} </td> " .
“<td>{$row[2]} </td> “.
“<td>{$row[3]} </td> “.
“< ; /tr>";
}
echo '</table>';
mysqli_close($conn);
?>
위 세 가지 예시의 출력 결과는 동일합니다.
메모리 해제
SELECT 문을 실행한 후에는 커서 메모리를 해제하는 것이 좋은 습관입니다.
PHP 함수 mysqli_free_result()를 통해 메모리를 해제할 수 있습니다.
다음 예에서는 이 기능의 사용을 보여줍니다.
예
다음 예를 시도해 보세요.
<?php
header("Content-Type: text/html;charset=utf-8");
$dbhost = 'localhost'; // mysql 서버 호스트 주소
$dbuser = 'root'; // mysql 사용자 이름
$dbpass = 'root' dbpass);
if(! $conn )
{
die( '연결 실패: ' . mysqli_error($conn));
}
//중국어 문자 깨짐을 방지하도록 인코딩 설정
mysqli_query($conn, "set names utf8");
$sql = 'SELECT user_id, user_title,
user_author, submit_date
FROM user';
mysqli_select_db( $conn, 'demo' );
$retval = mysqli_query( $conn, $ sql );
if(! $retval )
{
die('데이터를 읽을 수 없습니다: ' . mysqli_error ($conn));
}
echo '<h2>PHP 중국 웹사이트 mysqli_fetch_array 테스트
';
echo '
제출 날짜 | ';