কিভাবে MySQL ডাটাবেস একটি টেবিলে ডেটা কোয়েরি করে?ক্যোয়ারী স্টেটমেন্ট/কমান্ড/সিনট্যাক্স

মাইএসকিউএল ডাটাবেসকিভাবে টেবিলে তথ্য জিজ্ঞাসা?ক্যোয়ারী স্টেটমেন্ট/কমান্ড/সিনট্যাক্স

মাইএসকিউএল তথ্য অনুসন্ধান করুন

MySQL ডাটাবেসগুলি ডেটা জিজ্ঞাসা করতে SQL SELECT স্টেটমেন্ট ব্যবহার করে।

আপনি mysql> কমান্ড প্রম্পট উইন্ডোর মাধ্যমে বা পিএইচপি স্ক্রিপ্টের মাধ্যমে ডাটাবেসে ডেটা জিজ্ঞাসা করতে পারেন।

ব্যাকরণ

একটি MySQL ডাটাবেসে ডেটা অনুসন্ধানের জন্য নিম্নোক্ত সাধারণ নির্বাচন সিনট্যাক্স:

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;

ডেটা পেতে পিএইচপি স্ক্রিপ্ট ব্যবহার করুন

পিএইচপি ফাংশন ব্যবহার করে mysqli_query() এবং এসকিউএল সিলেক্ট করুন তথ্য পেতে কমান্ড।

এই ফাংশনটি 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, একটি অ্যাসোসিয়েটিভ অ্যারে ফেরত দেওয়ার জন্য ফলাফল অনুসন্ধান করতে এই প্যারামিটার সেট করুন, আপনি অ্যারের সূচী হিসাবে ক্ষেত্রের নাম ব্যবহার করতে পারেন।

পিএইচপি আরেকটি ফাংশন প্রদান করে 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);
?>
 

হোপ চেন উইলিয়াং ব্লগ ( https://www.chenweiliang.com/ ) শেয়ার করেছেন "কিভাবে মাইএসকিউএল ডাটাবেস টেবিলের ডেটা জিজ্ঞাসা করে?ক্যোয়ারী স্টেটমেন্ট/কমান্ড/সিনট্যাক্স" আপনাকে সাহায্য করতে।

এই নিবন্ধটির লিঙ্ক শেয়ার করতে স্বাগতম:https://www.chenweiliang.com/cwl-461.html

সর্বশেষ আপডেট পেতে চেন ওয়েইলিয়াং এর ব্লগের টেলিগ্রাম চ্যানেলে স্বাগতম!

🔔 চ্যানেলের শীর্ষ ডিরেক্টরিতে মূল্যবান "ChatGPT সামগ্রী বিপণন AI টুল ব্যবহারের নির্দেশিকা" পেতে প্রথম হন! 🌟
📚 এই গাইডটিতে বিশাল মূল্য রয়েছে, 🌟এটি একটি বিরল সুযোগ, এটি মিস করবেন না! ⏰⌛💨
ভালো লাগলে শেয়ার এবং লাইক করুন!
আপনার শেয়ার এবং লাইক আমাদের ক্রমাগত অনুপ্রেরণা!

 

发表 评论

আপনার ইমেইল ঠিকানা প্রচার করা হবে না. 必填 项 已 用 * 标注

উপরে যান