كيف تستعلم قاعدة بيانات MySQL عن البيانات في جدول؟بيان الاستعلام / الأمر / بناء الجملة

قاعدة بيانات MySQLكيف يتم الاستعلام عن البيانات الموجودة في الجدول؟بيان الاستعلام / الأمر / بناء الجملة

MySQL بيانات الاستعلام

تستخدم قواعد بيانات MySQL عبارات SQL SELECT للاستعلام عن البيانات.

يمكنك الاستعلام عن البيانات في قاعدة البيانات من خلال نافذة mysql> موجه الأوامر ، أو من خلال برنامج نصي PHP.

قواعد

فيما يلي بناء جملة SELECT العام للاستعلام عن البيانات في قاعدة بيانات MySQL:

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 () تجلب الدالة صفًا من مجموعة النتائج كمصفوفة ترابطية ، أو مصفوفة من الأرقام ، أو كليهما. تُرجع مصفوفة تم إنشاؤها من الصفوف التي تم جلبها من مجموعة النتائج ، أو تُرجع خطأ إذا لم يكن هناك المزيد من الصفوف.

يقرأ المثال التالي جميع السجلات من جدول البيانات 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 ()، تأخذ الدالة صفًا من مجموعة النتائج كمصفوفة ترابطية.تُرجع مصفوفة ترابطية تم إنشاؤها من الصفوف المأخوذة من مجموعة النتائج ، أو تُرجع مصفوفة ارتباطية تم إنشاؤها من الصفوف المأخوذة من مجموعة النتائج ، أو تُرجع مصفوفة ارتباطية إذا لم يكن هناك المزيد من الصفوف.

مثال

جرب المثال التالي الذي يستخدم 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);
?>

يمكنك أيضًا استخدام MYSQL_NUM الثابت كمعامل ثانٍ لوظيفة PHP mysqli_fetch_array () ، التي تُرجع مصفوفة من الأرقام.

مثال

تستخدم الأمثلة التالية 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.

يمكن تحرير الذاكرة من خلال الدالة mysqli_free_result () PHP.

يوضح المثال التالي استخدام هذه الوظيفة.

مثال

جرب الأمثلة التالية:

ذاكرة مجانية مع 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/ ) شارك "كيف تستعلم قاعدة بيانات MySQL عن البيانات الموجودة في الجدول؟بيان الاستعلام / الأوامر / بناء الجملة "لمساعدتك.

مرحبا بكم في مشاركة رابط هذه المقالة:https://www.chenweiliang.com/cwl-461.html

مرحبًا بك في قناة Telegram الخاصة بمدونة Chen Weiliang للحصول على آخر التحديثات!

🔔 كن أول من يحصل على "دليل استخدام أداة الذكاء الاصطناعي لتسويق محتوى ChatGPT" في الدليل العلوي للقناة! 🌟
📚 يحتوي هذا الدليل على قيمة كبيرة، 🌟هذه فرصة نادرة، لا تفوتها! ⏰⌛💨
شارك و اعجبك اذا اردت
مشاركتك وإعجاباتك هي دافعنا المستمر!

 

发表 评论

لن يتم نشر عنوان بريدك الإلكتروني. 必填 项 已 用 * 标注

انتقل إلى أعلى