English 中文(简体)
MariaDB - Select Query
  • 时间:2024-12-27

MariaDB - Select Query


Previous Page Next Page  

In this chapter, we will learn how to select data from a table.

SELECT statements retrieve selected rows. They can include UNION statements, an ordering clause, a LIMIT clause, a WHERE clause, a GROUP BY...HAVING clause, and subqueries.

Review the following general syntax −

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

A SELECT statement provides multiple options for specifying the table used −

    database_name.table_name

    table_name.column_name

    database_name.table_name.column_name

All select statements must contain one or more select expressions. Select expressions consist of one of the following options −

    A column name.

    An expression employing operators and functions.

    The specification “table_name.*” to select all columns within the given table.

    The character “*” to select all columns from all tables specified in the FROM clause.

The command prompt or a PHP script can be employed in executing a select statement.

The Command Prompt

At the command prompt, execute statements as follows −

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

Employ the same SELECT statement(s) within a PHP function to perform the operation. You will use the mysql_query() function once again. Review an example given below −

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

On successful data retrieval, you will see the following output −

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

Best practices suggest releasing cursor memory after every SELECT statement. PHP provides the mysql_free_result() function for this purpose. Review its use as shown below −

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