课程表

MariaDB课程

工具箱
速查手册

MariaDB 选择查询

当前位置:免费教程 » 数据库/运维 » MariaDB

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

SELECT语句检索所选行。 它们可以包括UNION语句,排序子句,LIMIT子句,WHERE子句,GROUP BY ... HAVING子句和子查询。

查看以下一般语法 -

  1. 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表达式。 选择表达式由以下选项之一组成 - 

  • 列名。

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

  • 规范"table_name.*"以选择给定表中的所有列。

  • 字符"*"用于从FROM子句中指定的所有表中选择所有列。

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

命令提示符

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

  1. root@host# mysql -u root -p password;
  2. Enter password:*******
  3. mysql> use PRODUCTS;
  4. Database changed
  5. mysql> SELECT * from products_tbl
  6. +-------------+---------------+
  7. | ID_number | Nomenclature |
  8. +-------------+---------------+
  9. | 12345 | Orbitron 4000 |
  10. +-------------+---------------+

PHP选择脚本

在PHP函数中使用相同的SELECT语句来执行操作。 您将再次使用mysql_query()函数。 查看下面给出的示例 -

  1. <?php
  2. $dbhost = 'localhost:3036';
  3. $dbuser = 'root';
  4. $dbpass = 'rootpassword';
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  6. if(! $conn ) {
  7. die('Could not connect: ' . mysql_error());
  8. }
  9.  
  10. $sql = 'SELECT product_id, product_name,product_manufacturer, ship_date
  11. FROM products_tbl';
  12.  
  13. mysql_select_db('PRODUCTS');
  14. $retval = mysql_query( $sql, $conn );
  15. if(! $retval ) {
  16. die('Could not get data: ' . mysql_error());
  17. }
  18.  
  19. while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
  20. echo "Product ID :{$row['product_id']} <br> ".
  21. "Name: {$row['product_name']} <br> ".
  22. "Manufacturer: {$row['product_manufacturer']} <br> ".
  23. "Ship Date : {$row['ship_date']} <br>".
  24. "--------------------------------<br>";
  25. }
  26.  
  27. echo "Fetched data successfully
  28. ";
  29. mysql_close($conn);
  30. ?>

在成功的数据检索,你会看到下面的输出 -

  1. Product ID: 12345
  2. Nomenclature: Orbitron 4000
  3. Manufacturer: XYZ Corp
  4. Ship Date: 01/01/17
  5. ----------------------------------------------
  6. Product ID: 12346
  7. Nomenclature: Orbitron 3000
  8. Manufacturer: XYZ Corp
  9. Ship Date: 01/02/17
  10. ----------------------------------------------
  11. mysql> Fetched data successfully

最佳实践建议在每个SELECT语句之后释放游标内存。 PHP为此提供了mysql_free_result()函数。 审查其使用如下所示 -

  1. <?php
  2. $dbhost = 'localhost:3036';
  3. $dbuser = 'root';
  4. $dbpass = 'rootpassword';
  5. $conn = mysql_connect($dbhost, $dbuser, $dbpass);
  6. if(! $conn ) {
  7. die('Could not connect: ' . mysql_error());
  8. }
  9.  
  10. $sql = 'SELECT product_id, product_name, product_manufacturer, ship_date
  11. FROM products_tbl';
  12.  
  13. mysql_select_db('PRODUCTS');
  14. $retval = mysql_query( $sql, $conn );
  15.  
  16. if(! $retval ) {
  17. die('Could not get data: ' . mysql_error());
  18. }
  19.  
  20. while($row = mysql_fetch_array($retval, MYSQL_NUM)) {
  21. echo "Product ID :{$row[0]} <br> ".
  22. "Name: {$row[1]} <br> ".
  23. "Manufacturer: {$row[2]} <br> ".
  24. "Ship Date : {$row[3]} <br> ".
  25. "--------------------------------<br>";
  26. }
  27.  
  28. mysql_free_result($retval);
  29. echo "Fetched data successfully
  30. ";
  31. mysql_close($conn);
  32. ?>
转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号