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

SELECT语句检索所选行。 它们可以包括UNION语句,排序子句,LIMIT子句,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表达式。 选择表达式由以下选项之一组成 -

  • 列名。

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

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

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

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

命令提示符

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

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
";
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
";
mysql_close($conn);
?>

本文转自:http://codingdict.com/article/7093

最新文章

  1. tet
  2. java17
  3. js 判断移动设备、pc端、android、iPhone、是否为微信、微博、qq空间
  4. linux命令(1):ls命令
  5. java解析中国行政区域并在页面显示实现动态逐级筛选
  6. TYVJ P1013 找啊找啊找GF Label:动态规划
  7. spring来了-06-事务控制
  8. T恤
  9. HTML兼容性设置
  10. swun 1184
  11. 分布式MySQL 数据库
  12. javascript 中 &quot;!function(){}() &quot; 是什么意思?
  13. Lucene入门教程(转载)
  14. 第一章 Java概述
  15. python3 deque(双向队列)
  16. office xml 方式
  17. Luogu2993 FJOI2014 最短路径树问题 最短路树、长链剖分
  18. SQL连接:内连接、外连接、交叉连接。
  19. CF 991
  20. 【JSP】jsp报错:Syntax error, insert &quot;}&quot; to complete MethodBody

热门文章

  1. leetcode-167周赛-1293-网格中的最短路径
  2. React笔记02——React中的组件
  3. Git 最全命令使用
  4. 查看mysql数据库文件存放位置
  5. 比传统事务快10倍?一张图读懂阿里云全局事务服务GTS
  6. 在Developerkit开发板上运行blink例程
  7. sql判断中文、数字、英文
  8. 远程仓库(GitHub)的使用
  9. 八、条件变量std::condition_variable、wait()、notify_one()、notify_all(粗略)
  10. UE编辑器