MariaDB – Select Query
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 successfullyn";
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 successfullyn";
mysql_close($conn);
?>
