MariaDB - Seleccionar consulta

En este capítulo, aprenderemos cómo seleccionar datos de una tabla.

Las sentencias SELECT recuperan filas seleccionadas. Pueden incluir declaraciones UNION, una cláusula de ordenación, una cláusula LIMIT, una cláusula WHERE, una cláusula GROUP BY ... HAVING y subconsultas.

Revise la siguiente sintaxis general:

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

Una instrucción SELECT proporciona múltiples opciones para especificar la tabla utilizada:

  • database_name.table_name

  • table_name.column_name

  • database_name.table_name.column_name

Todas las declaraciones seleccionadas deben contener una o más select expressions. Las expresiones de selección constan de una de las siguientes opciones:

  • Un nombre de columna.

  • Una expresión que emplea operadores y funciones.

  • La especificación "table_name. *" Para seleccionar todas las columnas dentro de la tabla dada.

  • El carácter "*" para seleccionar todas las columnas de todas las tablas especificadas en la cláusula FROM.

Se puede utilizar el símbolo del sistema o un script PHP para ejecutar una instrucción de selección.

El símbolo del sistema

En el símbolo del sistema, ejecute declaraciones de la siguiente manera:

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 Seleccionar secuencia de comandos

Emplee las mismas instrucciones SELECT dentro de una función PHP para realizar la operación. Usarás elmysql_query()funcionar una vez más. Revise un ejemplo que se da a continuación:

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

En la recuperación de datos exitosa, verá el siguiente resultado:

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

Las mejores prácticas sugieren liberar la memoria del cursor después de cada instrucción SELECT. PHP proporcionamysql_free_result()función para este propósito. Revise su uso como se muestra a continuación:

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