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 දේපල භාවිතා කළ හැක.

විධාන විමසුම හරහා දත්ත ලබා ගන්න

පහත උදාහරණයේ දී, අපි MySQL දත්ත වගුවේ දත්ත ලබා ගැනීමට SQL SELECT විධානය භාවිතා කරමු chenweiliang_tbl:

උදාහරණය

පහත උදාහරණය chenweiliang_tbl දත්ත වගුවේ සියලුම වාර්තා ලබා දෙනු ඇත:

දත්ත පත්‍රිකාව කියවන්න:

select * from chenweiliang_tbl;

දත්ත ලබා ගැනීමට PHP ස්ක්‍රිප්ට් භාවිතා කරන්න

PHP කාර්යයන් භාවිතා කරමින් mysqli_query() හා SQL තෝරන්න දත්ත ලබා ගැනීමට විධානය කරන්න.

මෙම ශ්‍රිතය 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);
?>

 

ඉහත උදාහරණයේ, කියවන ලද සෑම වාර්තා පේළියක්ම $row විචල්‍යයට පවරනු ලැබේ, ඉන්පසු සෑම අගයක්ම මුද්‍රණය කෙරේ.

සටහන:මතක තියාගන්න ඔයාලට string එකක variable එකක් පාවිච්චි කරන්න ඕන නම් variable එක curly braces වලට දාන්න.

ඉහත උදාහරණයේ, PHP mysqli_fetch_array() ශ්‍රිතයේ දෙවන පරාමිතිය වන්නේ MYSQL_ASSOC, ආශ්‍රිත අරාවක් ආපසු ලබා දීම සඳහා ප්‍රතිඵලය විමසීමට මෙම පරාමිතිය සකසන්න, ඔබට ක්ෂේත්‍ර නාමය අරාවේ දර්ශකය ලෙස භාවිතා කළ හැක.

PHP තවත් කාර්යයක් සපයයි mysqli_fetch_assoc(), ශ්‍රිතය ආශ්‍රිත අරාවක් ලෙස සකසා ඇති ප්‍රතිඵලයෙන් පේළියක් ගනී.ප්‍රතිඵල කට්ටලයෙන් ලබාගත් පේළිවලින් ජනනය කරන ලද ආශ්‍රිත අරාවක් ආපසු ලබා දෙයි, නැතහොත් තවත් පේළි නොමැති නම් අසත්‍ය වේ.

උදාහරණය

භාවිතා කරන පහත උදාහරණය උත්සාහ කරන්න 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);
?>
 

Hope Chen Weiliang බ්ලොග් ( https://www.chenweiliang.com/ ) shared "MySQL දත්ත සමුදාය වගුවේ ඇති දත්ත විමසන්නේ කෙසේද?ඔබට උදවු කිරීමට විමසුම් ප්‍රකාශය/විධානය/ වාක්‍ය ඛණ්ඩය".

මෙම ලිපියේ සබැඳිය බෙදා ගැනීමට සාදරයෙන් පිළිගනිමු:https://www.chenweiliang.com/cwl-461.html

නවතම යාවත්කාලීන ලබා ගැනීමට Chen Weiliang ගේ බ්ලොගයේ Telegram නාලිකාව වෙත සාදරයෙන් පිළිගනිමු!

🔔 නාලිකා ඉහළ නාමාවලියෙහි වටිනා "ChatGPT අන්තර්ගත අලෙවිකරණ AI මෙවලම් භාවිත මාර්ගෝපදේශය" ලබා ගත් පළමු පුද්ගලයා වන්න! 🌟
📚 මෙම මාර්ගෝපදේශයෙහි විශාල වටිනාකමක් ඇත, 🌟මෙය දුර්ලභ අවස්ථාවක්, එය අතපසු නොකරන්න! ⏰⌛💨
ඔබ කැමති නම් Share කර Like කරන්න!
ඔබගේ බෙදාගැනීම් සහ කැමැත්ත අපගේ අඛණ්ඩ අභිප්‍රේරණයයි!

 

发表

ඔබගේ විද්‍යුත් තැපැල් ලිපිනය ප්‍රකාශයට පත් නොකෙරේ. අවශ්‍ය ක්ෂේත්‍ර භාවිතා වේ * ලේබලය

ඉහළට අනුචලනය කරන්න