MariaDB - Sorgu Seç

Bu bölümde, bir tablodan nasıl veri seçileceğini öğreneceğiz.

SELECT deyimleri seçili satırları alır. UNION deyimleri, bir sıralama cümlesi, bir LIMIT yan tümcesi, bir WHERE yan tümcesi, bir GROUP BY ... HAVING yan tümcesi ve alt sorgular içerebilirler.

Aşağıdaki genel söz dizimini inceleyin -

SELECT field, field2,... FROM table_name, table_name2,... WHERE...

Bir SELECT ifadesi, kullanılan tabloyu belirtmek için birden fazla seçenek sunar -

  • database_name.table_name

  • table_name.column_name

  • database_name.table_name.column_name

Tüm seçili ifadeler bir veya daha fazla içermelidir select expressions. Seçili ifadeler aşağıdaki seçeneklerden birinden oluşur -

  • Bir sütun adı.

  • Operatörleri ve fonksiyonları kullanan bir ifade.

  • Verilen tablodaki tüm sütunları seçmek için "tablo_adı. *" Spesifikasyonu.

  • FROM yan tümcesinde belirtilen tüm tablolardan tüm sütunları seçmek için "*" karakteri.

Bir select ifadesinin yürütülmesinde komut istemi veya bir PHP betiği kullanılabilir.

Komut İstemi

Komut isteminde, ifadeleri aşağıdaki gibi yürütün -

root@host# mysql -u root -p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed
mysql> SELECT * from products_tbl
+-------------+---------------+
| ID_number   | Nomenclature  |
+-------------+---------------+
| 12345       | Orbitron 4000 |
+-------------+---------------+

PHP Select Script

İşlemi gerçekleştirmek için bir PHP işlevi içinde aynı SELECT ifadesini kullanın. Kullanacaksınmysql_query()bir kez daha işlev görür. Aşağıda verilen bir örneği inceleyin -

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'SELECT product_id, product_name,product_manufacturer, ship_date FROM products_tbl';
   mysql_select_db('PRODUCTS');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Product ID :{$row['product_id']} <br> ".
         "Name: {$row['product_name']} <br> ".
         "Manufacturer: {$row['product_manufacturer']} <br> ".
         "Ship Date : {$row['ship_date']} <br>".
         "--------------------------------<br>";
   }

   echo "Fetched data successfully\n";
   mysql_close($conn);
?>

Başarılı veri alımında aşağıdaki çıktıyı göreceksiniz -

Product ID: 12345
Nomenclature: Orbitron 4000
Manufacturer: XYZ Corp
Ship Date: 01/01/17
----------------------------------------------
Product ID: 12346
Nomenclature: Orbitron 3000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
mysql> Fetched data successfully

En iyi uygulamalar, her SELECT ifadesinden sonra imleç belleğinin serbest bırakılmasını önerir. PHP,mysql_free_result()bu amaç için işlev. Aşağıda gösterildiği gibi kullanımını inceleyin -

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'SELECT product_id, product_name, product_manufacturer, ship_date FROM products_tbl';
   mysql_select_db('PRODUCTS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_NUM)) {
      echo "Product ID :{$row[0]} <br> ".
         "Name: {$row[1]} <br> ".
         "Manufacturer: {$row[2]} <br> ".
         "Ship Date : {$row[3]} <br> ".
         "--------------------------------<br>";
   }

   mysql_free_result($retval);
   echo "Fetched data successfully\n";
   mysql_close($conn);
?>