MariaDB 選擇查詢

2022-08-16 15:24 更新

在本章中,我們將學(xué)習(xí)如何從表中選擇數(shù)據(jù)。

SELECT語句檢索所選行。 它們可以包括UNION語句,排序子句,LIMIT子句,WHERE子句,GROUP BY ... HAVING子句和子查詢。

查看以下一般語法 -

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

SELECT語句提供了多個選項來指定使用的表 - 

  • database_name.table_name

  • table_name.column_name

  • database_name.table_name.column_name

所有select語句必須包含一個或多個select表達式。 選擇表達式由以下選項之一組成 - 

  • 列名。

  • 使用運算符和函數(shù)的表達式。

  • 規(guī)范"table_name.*"以選擇給定表中的所有列。

  • 字符"*"用于從FROM子句中指定的所有表中選擇所有列。

可以在執(zhí)行select語句時使用命令提示符或PHP腳本。

命令提示符

在命令提示符下,執(zhí)行如下語句:

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選擇腳本

在PHP函數(shù)中使用相同的SELECT語句來執(zhí)行操作。 您將再次使用mysql_query()函數(shù)。 查看下面給出的示例 -

<?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
";
   mysql_close($conn);
?>

在成功的數(shù)據(jù)檢索,你會看到下面的輸出 -

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

最佳實踐建議在每個SELECT語句之后釋放游標內(nèi)存。 PHP為此提供了mysql_free_result()函數(shù)。 審查其使用如下所示 -

<?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
";
   mysql_close($conn);
?>

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號