MySQL 데이터베이스는 테이블의 데이터를 어떻게 쿼리합니까?쿼리문/명령어/구문

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 채널에 오신 것을 환영합니다!

🔔 채널 상위 디렉토리에서 귀중한 "ChatGPT 콘텐츠 마케팅 AI 도구 사용 가이드"를 가장 먼저 받아보세요! 🌟
📚 이 가이드에는 엄청난 가치가 담겨 있습니다. 🌟이것은 흔치 않은 기회입니다. 놓치지 마세요! ⏰⌛💨
당신이 원한다면 공유하고 좋아하십시오!
당신의 공유와 좋아요는 우리의 지속적인 동기 부여입니다!

 

发表 评论

귀하의 이메일 주소는 공개되지 않습니다. 必填 项 已 用 * 标注

맨위로 스크롤