MariaDB 选择查询

MariaDB 选择查询

在本章中,我们将学习如何从表中选择数据。

SELECT语句检索选择的行。它们可以包括UNION语句、排序子句、限制子句、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表达式 。select表达式包括以下选项之一:

  • 列名。

  • 使用运算符和函数的表达式。

  • “table_name.*”来选择给定表中的所有列。

  • 字符“*”来选择FROM子句中指定的所有表的所有列。

可以使用命令提示符或PHP脚本执行select语句。

命令提示符

在命令提示符下,可以执行以下语句:

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函数中使用相同的SELECT语句来执行操作。你将再次使用 mysql_query() 函数。请查看下面的示例 –

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

在成功检索数据后,您将看到以下输出 –

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语句之后释放游标内存。PHP提供了 mysql_free_result() 函数来实现此目的。如下所示。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程