ಲೇಖನ ಡೈರೆಕ್ಟರಿ
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 ಆಸ್ತಿಯನ್ನು ಬಳಸಬಹುದು.
ಕಮಾಂಡ್ ಪ್ರಾಂಪ್ಟ್ ಮೂಲಕ ಡೇಟಾವನ್ನು ಪಡೆಯಿರಿ
ಕೆಳಗಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು MySQL ಡೇಟಾ ಟೇಬಲ್ chenweiliang_tbl ನ ಡೇಟಾವನ್ನು ಪಡೆಯಲು SQL SELECT ಆಜ್ಞೆಯನ್ನು ಬಳಸುತ್ತೇವೆ:
ನಿದರ್ಶನ
ಕೆಳಗಿನ ಉದಾಹರಣೆಯು ಡೇಟಾ ಟೇಬಲ್ನ ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ chenweiliang_tbl:
ಡೇಟಾಶೀಟ್ ಓದಿ:
select * from chenweiliang_tbl;
ಡೇಟಾವನ್ನು ಪಡೆಯಲು PHP ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ
ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯಲು PHP ಕಾರ್ಯ mysqli_query() ಮತ್ತು SQL SELECT ಆಜ್ಞೆಯನ್ನು ಬಳಸಿ.
ಈ ಕಾರ್ಯವನ್ನು SQL ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ, ಮತ್ತು ನಂತರ PHP ಕಾರ್ಯ mysqli_fetch_array() ಅನ್ನು ಪ್ರಶ್ನಿಸಿದ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು ಅಥವಾ ಔಟ್ಪುಟ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ.
mysqli_fetch_array() ಕಾರ್ಯವು ಫಲಿತಾಂಶದ ಸೆಟ್ನಿಂದ ಸಹಾಯಕ ಶ್ರೇಣಿ, ಸಂಖ್ಯಾತ್ಮಕ ಶ್ರೇಣಿ ಅಥವಾ ಎರಡರಲ್ಲೂ ಒಂದು ಸಾಲನ್ನು ಹಿಂಪಡೆಯುತ್ತದೆ ಮತ್ತು ಫಲಿತಾಂಶದ ಸೆಟ್ನಿಂದ ಮರುಪಡೆಯಲಾದ ಸಾಲಿನಿಂದ ರಚಿಸಲಾದ ಶ್ರೇಣಿಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಹೆಚ್ಚಿನ ಸಾಲುಗಳಿಲ್ಲದಿದ್ದರೆ, ಅದು ತಪ್ಪು ಎಂದು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
ಕೆಳಗಿನ ಉದಾಹರಣೆಯು ಡೇಟಾ ಟೇಬಲ್ 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);
?>ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಓದುವ ದಾಖಲೆಗಳ ಪ್ರತಿ ಸಾಲು ವೇರಿಯಬಲ್ $ರೋಗೆ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು ನಂತರ ಪ್ರತಿ ಮೌಲ್ಯವನ್ನು ಮುದ್ರಿಸಲಾಗುತ್ತದೆ.
ಗಮನಿಸಿ: ನೀವು ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸಬೇಕಾದರೆ ಅದನ್ನು ಕರ್ಲಿ ಬ್ರೇಸ್ಗಳಲ್ಲಿ ಸುತ್ತುವರಿಯಲು ಮರೆಯದಿರಿ.
ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, PHP mysqli_fetch_array() ಕಾರ್ಯದ ಎರಡನೇ ನಿಯತಾಂಕ MYSQL_ASSOC ಆಗಿದೆ . ಈ ನಿಯತಾಂಕವನ್ನು ಹೊಂದಿಸುವುದರಿಂದ ಸಹಾಯಕ ಶ್ರೇಣಿಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ನೀವು ಕ್ಷೇತ್ರದ ಹೆಸರನ್ನು ಶ್ರೇಣಿಯ ಸೂಚ್ಯಂಕವಾಗಿ ಬಳಸಬಹುದು.
PHP ಮತ್ತೊಂದು ಕಾರ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ, `mysqli_fetch_assoc()` , ಇದು ಫಲಿತಾಂಶದ ಗುಂಪಿನಿಂದ ಒಂದು ಸಾಲನ್ನು ಸಹಾಯಕ ಶ್ರೇಣಿಯಾಗಿ ಹಿಂಪಡೆಯುತ್ತದೆ. ಫಲಿತಾಂಶದ ಗುಂಪಿನಿಂದ ಮರುಪಡೆಯಲಾದ ಸಾಲುಗಳ ಆಧಾರದ ಮೇಲೆ ಇದು ಸಹಾಯಕ ಶ್ರೇಣಿಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ; ಯಾವುದೇ ಸಾಲುಗಳು ಲಭ್ಯವಿಲ್ಲದಿದ್ದರೆ, ಅದು ತಪ್ಪು ಎಂದು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
ನಿದರ್ಶನ
chenweiliang_tbl ಕೋಷ್ಟಕದ ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಔಟ್ಪುಟ್ ಮಾಡಲು mysqli_fetch_assoc() ಕಾರ್ಯವನ್ನು ಬಳಸುವ ಕೆಳಗಿನ ಉದಾಹರಣೆಯನ್ನು ಪ್ರಯತ್ನಿಸಿ :
ಡೇಟಾವನ್ನು ಪಡೆದುಕೊಳ್ಳಲು 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);
?>ನೀವು ಸ್ಥಿರವಾದ MYSQL_NUM ಅನ್ನು PHP mysqli_fetch_array() ಫಂಕ್ಷನ್ನ ಎರಡನೇ ಪ್ಯಾರಾಮೀಟರ್ ಆಗಿ ಬಳಸಬಹುದು, ಇದು ಸಂಖ್ಯೆಗಳ ಶ್ರೇಣಿಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ.
ನಿದರ್ಶನ
chenweiliang_tbl ಕೋಷ್ಟಕದಲ್ಲಿನ ಎಲ್ಲಾ ದಾಖಲೆಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲು ಈ ಕೆಳಗಿನ ಉದಾಹರಣೆಯು MYSQL_NUM ನಿಯತಾಂಕವನ್ನು ಬಳಸುತ್ತದೆ:
ಡೇಟಾವನ್ನು ಪಡೆದುಕೊಳ್ಳಲು 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 ಡೇಟಾಬೇಸ್ನಲ್ಲಿರುವ ಟೇಬಲ್ನಿಂದ ಡೇಟಾವನ್ನು ಹೇಗೆ ಪ್ರಶ್ನಿಸುವುದು? ಪ್ರಶ್ನೆ ಹೇಳಿಕೆಗಳು/ಆಜ್ಞೆಗಳು/ಸಿಂಟ್ಯಾಕ್ಸ್" ಎಂಬ ಲೇಖನವು ನಿಮಗೆ ಸಹಾಯಕವಾಗಲಿದೆ ಎಂದು ಆಶಿಸುತ್ತೇವೆ.
ಈ ಲೇಖನದ ಲಿಂಕ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಹಿಂಜರಿಯಬೇಡಿ: https://www.chenweiliang.com/cwl-461.html
