기사 디렉토리
MySQL 데이터베이스테이블의 데이터를 쿼리하는 방법은 무엇입니까?쿼리문/명령어/구문
MySQL의 쿼리 데이터
MySQL 데이터베이스는 SQL SELECT 문을 사용하여 데이터를 쿼리합니다.
mysql> 명령 프롬프트 창이나 PHP 스크립트를 통해 데이터베이스의 데이터를 쿼리할 수 있습니다.
문법
다음은 MySQL 데이터베이스에서 데이터를 쿼리하기 위한 일반적인 SELECT 구문입니다.
SELECT column_name,column_name FROM table_name [WHERE Clause] [OFFSET M ][LIMIT N]
- 쿼리문에서 하나 이상의 테이블을 사용하고, 테이블을 쉼표(,)로 구분하고, WHERE 문을 사용하여 쿼리 조건을 설정할 수 있습니다.
- SELECT 명령은 하나 이상의 레코드를 읽을 수 있습니다.
- 별표(*)를 사용하여 다른 필드를 바꿀 수 있습니다. SELECT 문은 테이블의 모든 필드 데이터를 반환합니다.
- WHERE 문을 사용하여 모든 조건을 포함할 수 있습니다.
- SELECT 문이 OFFSET으로 쿼리를 시작하는 데이터 오프셋을 지정할 수 있습니다.기본적으로 오프셋은 0입니다.
- LIMIT 속성을 사용하여 반환되는 레코드 수를 설정할 수 있습니다.
명령 프롬프트를 통해 데이터 가져오기
다음 예에서는 SQL SELECT 명령을 사용하여 MySQL 데이터 테이블 chenweiliang_tbl의 데이터를 가져옵니다.
예
다음 예는 chenweiliang_tbl 데이터 테이블의 모든 레코드를 반환합니다.
데이터시트 읽기:
select * from chenweiliang_tbl;
PHP 스크립트를 사용하여 데이터 가져오기
PHP 함수 사용 mysqli_query() 及 SQL 선택 데이터를 가져오는 명령입니다.
이 함수는 SQL 명령을 실행한 다음 PHP 함수를 전달하는 데 사용됩니다. mysqli_fetch_array() 모든 쿼리에 대한 데이터를 사용하거나 출력합니다.
mysqli_fetch_array() 이 함수는 결과 집합에서 연관 배열, 숫자 배열 또는 둘 다로 행을 가져옵니다. 결과 집합에서 가져온 행에서 생성된 배열을 반환하거나 더 이상 행이 없으면 false를 반환합니다.
다음 예는 데이터 테이블 chenweiliang_tbl에서 모든 레코드를 읽습니다.
예
chenweiliang_tbl 데이터 테이블의 모든 레코드를 표시하려면 다음 예를 시도하십시오.
mysqli_fetch_array MYSQL_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 chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 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, MYSQL_ASSOC)) { echo "<tr><td> {$row['chenweiliang_id']}</td> ". "<td>{$row['chenweiliang_title']} </td> ". "<td>{$row['chenweiliang_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
위의 예에서 읽은 레코드의 각 행은 변수 $row에 할당되고 각 값이 출력됩니다.
注意 :문자열에서 변수를 사용해야 하는 경우 변수를 중괄호 안에 넣으십시오.
위의 예에서 PHP mysqli_fetch_array() 함수의 두 번째 매개변수는 다음과 같습니다. MYSQL_ASSOC, 이 매개변수를 설정하여 결과를 쿼리하여 연관 배열을 반환하면 필드 이름을 배열의 인덱스로 사용할 수 있습니다.
PHP는 다른 기능을 제공합니다 mysqli_fetch_assoc(), 함수는 결과 집합에서 연관 배열로 행을 취합니다.결과 집합에서 가져온 행에서 생성된 연관 배열을 반환하거나 더 이상 행이 없으면 false를 반환합니다.
예
다음을 사용하여 다음 예를 시도하십시오. mysqli_fetch_assoc() 데이터 테이블 chenweiliang_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 chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 mysqli_fetch_assoc 测试<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['chenweiliang_id']}</td> ". "<td>{$row['chenweiliang_title']} </td> ". "<td>{$row['chenweiliang_author']} </td> ". "<td>{$row['submission_date']} </td> ". "</tr>"; } echo '</table>'; mysqli_close($conn); ?>
숫자 배열을 반환하는 PHP mysqli_fetch_array() 함수의 두 번째 매개변수로 상수 MYSQL_NUM을 사용할 수도 있습니다.
예
다음 예제는 MYSQL_NUM 매개변수는 chenweiliang_tbl 데이터 테이블의 모든 레코드를 표시합니다.
mysqli_fetch_array MYSQL_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 chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 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, MYSQL_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()를 통해 해제할 수 있습니다.
다음 예제는 이 함수의 사용을 보여줍니다.
예
다음 예를 시도해 보십시오.
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 chenweiliang_id, chenweiliang_title, chenweiliang_author, submission_date FROM chenweiliang_tbl'; mysqli_select_db( $conn, 'chenweiliang' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('无法读取数据: ' . mysqli_error($conn)); } echo '<h2>陈沩亮博客 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, MYSQL_NUM)) { echo "<tr><td> {$row[0]}</td> ". "<td>{$row[1]} </td> ". "<td>{$row[2]} </td> ". "<td>{$row[3]} </td> ". "</tr>"; } echo '</table>'; // 释放内存 mysqli_free_result($retval); mysqli_close($conn); ?>
희망 첸 웨이량 블로그( https://www.chenweiliang.com/ ) 공유 "MySQL 데이터베이스는 테이블의 데이터를 어떻게 쿼리합니까?Query Statement/Command/Syntax"를 참조하십시오.
이 기사의 링크를 공유하는 것을 환영합니다:https://www.chenweiliang.com/cwl-461.html
최신 업데이트를 받으려면 Chen Weiliang 블로그의 Telegram 채널에 오신 것을 환영합니다!
📚 이 가이드에는 엄청난 가치가 담겨 있습니다. 🌟이것은 흔치 않은 기회입니다. 놓치지 마세요! ⏰⌛💨
당신이 원한다면 공유하고 좋아하십시오!
당신의 공유와 좋아요는 우리의 지속적인 동기 부여입니다!