MySQL in Hindi Select Query




SQL SELECT Command MySQL Database से Data को प्राप्त करने के लिए उपयोग किया जाता है. आप इस Command को mysql> Prompt और PHP जैसी किसी भी Script पर उपयोग कर सकते है.

Syntax

SELECT field1, field2,...fieldN 
FROM table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]

  • आप WHERE Clause का उपयोग करते हुए विभिन्न स्थितियों को शामिल करने के लिए Comma द्वारा अलग किए गए एक या एक से अधिक Tables का उपयोग कर सकते है. लेकिन WHERE Clause SELECT Command का एक वैकल्पिक हिस्सा है.

  • आप Single SELECT Command मे एक या अधिक Fields को प्राप्त कर सकते है.

  • आप WHERE Clause का उपयोग करके किसी भी Condition को Specify कर सकते है.

  • आप Fields के स्थान पर star (*) को Specify कर सकते है और इस Situation मे SELECT सभी Fields को Return करेगा.

  • आप OFFSSET का उपयोग करके Offset को Specify कर सकते है जहां से SELECT Records को लौटना शुरू कर देगा और Default रूप से OFFSSET Zero से शुरू होता है.

Fetching Data From a Command Prompt

MySQL Table tutorials_tbl से Data को प्राप्त करने के लिए SQL SELECT Command का उपयोग करेगा.

For Example

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl 
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
|           1 | Learn PHP      | Abdul Ali       | 2006-05-22      |
|           2 | Learn MySQL    | Ammu            | 2008-05-28      |
|           3 | JAVA Tutorial  | Begum           | 2007-05-21      |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.01 sec)

mysql>

Fetching Data Using a PHP Script

आप एक ही SQL SELECT Command का उपयोग करके एक PHP Function मे mysql_query () कर सकते है. इस Function का उपयोग SQL Command को Execute करने के लिए किया जाता है और उसके बाद बाद मे एक और PHP Function mysql_fetch_array () का उपयोग सभी SELECT Data को प्राप्त करने के लिए किया जा सकता है. यह Function Row को एक Associative Array को एक Numeric Array या दोनो के रूप में देता है. यदि कोई और Rows नहीं हैं तो यह Function गलत हो जाता है.

नीचे एक सरल उदाहरण है जो tutorials_tbl Table से Records को Fetch Display करने का तरीका दिखाएगा.

For Example

<?php
   $dbhost = 'localhost:2036';
   $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';

   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);
?>

इसमे Rows के Content को Variable $row को Assigned किया गया है और उस Rows की Values को Print किए जाता हैं.

उपरोक्त उदाहरण मे निरंतर MYSQL_ASSOC को PHP Function mysql_fetch_array () मे दूसरी Argument के रूप में उपयोग किया जाता है ताकि वह Row को एक Associative Array के रूप मे देता है और एक Associative Array के साथ आप Index का उपयोग करने के बजाय उनके नाम का उपयोग करके Field का उपयोग कर सकते है.

PHP mysql_fetch_assoc () नामक अन्य Function प्रदान करता है जो Row को एक Associative Array के रूप मे देता है.

For Example

<?php
   $dbhost = 'localhost:2036';
   $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';

   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }
   
   while($row = mysql_fetch_assoc($retval)) {
      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);
?>

आप निरंतर MYSQL_NUM को PHP Function mysql_fetch_array () मे दूसरी Argument के रूप मे उपयोग कर सकते है इससे Function को Numeric Index के साथ एक Array को वापस करना होगा.

For Example

<?php
   $dbhost = 'localhost:2036';
   $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';

   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_NUM)) {
      echo "Tutorial ID :{$row[0]}  <br> ".
         "Title: {$row[1]} <br> ".
         "Author: {$row[2]} <br> ".
         "Submission Date : {$row[3]} <br> ".
         "--------------------------------<br>";
   }
   echo "Fetched data successfully\n";
   mysql_close($conn);
?>

Releasing Memory

प्रत्येक SELECT Statement के अंत मे Cursor Memory को रिलीज करने के लिए यह एक अच्छा अभ्यास है यह PHP Function mysql_free_result () का उपयोग करके किया जा सकता है.

For Example

<?php
   $dbhost = 'localhost:2036';
   $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';

   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_NUM)) {
      echo "Tutorial ID :{$row[0]}  <br> ".
         "Title: {$row[1]} <br> ".
         "Author: {$row[2]} <br> ".
         "Submission Date : {$row[3]} <br> ".
         "--------------------------------<br>";
   }
   mysql_free_result($retval);
   echo "Fetched data successfully\n";
   mysql_close($conn);
?>

Data का आदान-प्रदान करते समय आप जितना चाहें उतना Complex Code लिख सकते हैं लेकिन उपरोक्त उल्लिखित प्रक्रिया एक समान होगी.