ئیش بە فەرمانی مەرجی WHERE لە MySQL
Aug 1, 2018
4 خولەک
719 وشە
تــاگ: mysql
هاوبەشی بکە:

پێشەکی

لە وانەی پێش لەگەڵ فەرمانی SELECT بۆ دەرهێنانی دراوە لە بنکەدراوە فێر بووین. هەروەها بە کۆدەکانیش چۆنیەتی درهێنانی دراوە لە خشتەکان ئاماژەیان پێ کرا. بەڵام ئەمە سادەترین و ساکار ترین شێواز بوو زۆر جار ئێوە پێویستان بە دەرهێنانی بەشێک لە یەک یان چەند خشتەتان دەبێت؛ لەم حاڵەتانە ئێوە پێویستان بە فەرمانێکی مەرجی لە پاش فەرمانی SELECT هەیە.لەم بابەتە فێر دەبن کە ئێوە چۆن پێویستان بە فەرمانی مەرجی WHERE لە MYSQL بۆ دەرهێنانی دراوە هەیە.

داڕستانی فەرمانی مەرجی WHERE لە MYSQL

چوارچیوەی گشتی فەرمانی SELECET لەگەڵ فەرمانی مەرجی WHERE لە MYSQL بم جۆرەیە.

SELECT field1, field2,...fieldN table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
  • ئێوە دەتوانن هەر مەرجێک بە فەرمانی WHERE بنووسن.
  • ئێوە بۆتان هەیە خشتە یان چەندین خشتە بە یارمەتی بۆر(,) جودا بکەنەوە تا بۆ فەرمانی WHERE بارودۆخی جیاواز بگرێت.
  • بە یارمەتی کرده‌گه‌رکانی1AND و OR دەتوانن زۆرتر لە یەک مەرج بە فەرمانی WHERE بسەپێنن.
  • لە فەرمانی مەرجی WHERE بێجگە لە SELECT دەتوانن لە فەرمانەکانی DELETE یا UPDATE بۆ پێناسەی مەرج لە SQL سوود بگرن.

خاڵ : ئەم فەرمانە بۆ هەڵسەنگاندنی بڕی دراوەی نووسراوە لە گەڵ خانەی خشتەیەک لە MYSQL بەکار دێت.گەر بڕی پێدراو لە فەرمانی WHERE لەگەڵ بڕی خانەی خشتەی پەیوەندی یەکسان بێت، MYSQL ئەو دێڕە دەگەڕێنێتەوە.

بەکارهێنانی کردەگەرەکان لە فەرمانی WHERE

پێرستی ئەوکردەگەرانەک ە دەتوانن لەگەڵ فەرمانی WHERE بەکاربهێنرێن لەم خشتە هاوردوومانە. گریمانە کە بڕی خانەی A یەکسانە بە ١٠ و بڕی خانەی B یەکسانە بە ٢٠ .

کردەگەر شرۆڤە نمونە
= گەر بڕی دوو خانە یەکاسان بن ئەم کردەگەرەTrue دەگەڕێنێتەوە (A = B) is not true.
=! گەر بڕی دوو خانە یەکاسان نەبن ئەم کردەگەرەTrue دەگەڕێنێتەوە (A != B) is true.
> گەر کردەگەری لای چەپ گەورەتر لە کردەگەری لای ڕاست بێت،ئەم کردەگەرەTrue دەگەڕێنێتەوە (A > B) is not true.
< گەر کردەگەری لای ڕاست گەورەتر لە کردەگەری لای چەپ بێت،ئەم کردەگەرەTrue دەگەڕێنێتەوە (A < B) is true.
>= گەر کردەگەری لای چەپ گەورەتر یان یەکسان بێت لە کردەگەری لای ڕاست ،ئەم کردەگەرەTrue دەگەڕێنێتەوە (A >= B) is not true.
گەر کردەگەری لای چەپ کەمتر یان یەکسان بێت لە کردەگەری لای ڕاست ،ئەم کردەگەرەTrue دەگەڕێنێتەوە (A ⇐ B) is true.

فەرمانی WHERE کاتێک گەرەکتانە کە دێڕە دیاریکراوەکان لە خشتە جودا بکەنەوە، زۆر سوودمەندە. بەتایبەت کاتێک لە فەرمانی MySQL Join سوود دەگرن.لە وانەکانی داهاتوو باسی دەکین. ئەمە شێوازێکی ئاساییە لە گەڕان بۆ رێکۆردەکان بە سوود وەرگرتن لە کلیلی ئەسڵی بۆ گەڕانی خێراتر. گەر مەرجی دابینکراوە لە هیچ رێکۆردێک لە خشتە هاوئاهەنگ نەبێت، داوا کەت هیچ دێڕێک نیشان نادا.

دەرهێنانی دراوە بە یارمەتی هێڵی فەرمان

ئەمە بەشێک لە فەرمانی SQL SELECT لەگەڵ مەرجی WHEREــە کە لە چەن نمونە فێری دەبین. نمونەی ١ : لەم نمونەیە تەواو تۆمارکراوەکان لە خشتەی tutorials_tbl لە خانەی authorـەکەی لەگەڵ Sanjay یەکسانە دەیگەڕێنێتەوە:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl WHERE tutorial_author = 'Sanjay';
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|      3      | JAVA Tutorial  |      Sanjay     |    2007-05-21   |      
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)
 
mysql>

بێجگە لە فەرمانی LIKE لە بەشەکانی دیکەی هەڵسەنگاندن لە SQL، گەورەیی و چکۆلەیی پیتەکان گرینگ نییە. هەرچەندە ئێوە دەتوانن بە یارمەتی کلیلی BINARY وەک خوارەوە، هەستیاری بە پیتەکان لە داوەی2خۆتان جێبەجی بکەن.

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl \
   WHERE BINARY tutorial_author = 'sanjay';
Empty set (0.02 sec)
mysql>

دەرهێنانی دراوە بە یارمەتی PHP

ئێوە دەتوانن بە فەرمانی SQL لەگەڵ فەرمانی مەرجی WHERE لە نەخشەی ()mysql_query لە PHP سوود بگرن. ئەم نەخشەیەبۆ فەرمانەکانی SQL، هەروەها بۆ دەرهێنانیدراوەکان لە نەخشەی ()mysql_fetch_array بەکەڵکە.ئەم نەخشەیە دێڕێک لە خشتە لە چوارچێوەی ریزەک3ی پێوەبەسراو یان ریزەکەکانی ژمارەیی یان تێکڵاو لە هەردووکیان دەگەڕێنێتەوە. گەر دێڕی فرەتر بوونی نەبێت ئەم نەخشەیە بڕی FALSE دەگەڕێنێتەوە. نمونەی ٢ : لەم نمونە تەواو تۆمارکراوەکان لە خشتەی tutorials_tbl کە ناوی نووسەرەکانی لە گەڵ Sanjay یەکسانە، دەگەڕێنێتەوە:

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
 
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }
 
   $sql = 'SELECT tutorial_id, tutorial_title, 
      tutorial_author, submission_date
      FROM tutorials_tbl
      WHERE tutorial_author = "Sanjay"';
 
   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );
 
   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }
 
   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Tutorial ID :{$row['tutorial_id']}  <br> ".
      "Title: {$row['tutorial_title']} <br> ".
      "Author: {$row['tutorial_author']} <br> ".
      "Submission Date : {$row['submission_date']} <br> ".
      "--------------------------------<br>";
   } 
 
   echo "Fetched data successfully\n";
   mysql_close($conn);
?>


  1. operators ↩︎

  2. Query ↩︎

  3. array ↩︎