一、mysql_select
- SELECT 语句用于从数据库中选取数据。
-
从数据库表中选取数据
-
-
SELECT 语句用于从数据库中选取数据。
-
语法
-
-
SELECT column_name(s) FROM table_name
-
-
注释:SQL 语句对大小写不敏感。SELECT 与 select 等效。
-
-
为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数。该函数用于向 MySQL 发送查询或命令。
-
例子
-
-
下面的例子选取存储在 "Persons" 表中的所有数据(* 字符选取表中所有数据):
-
-
<?php
-
$con = mysql_connect("localhost","peter","abc123");
-
if (!$con)
-
{
-
die('Could not connect: ' . mysql_error());
-
}
-
-
mysql_select_db("my_db", $con);
-
-
$result = mysql_query("SELECT * FROM Persons");
-
-
while($row = mysql_fetch_array($result))
-
{
-
echo $row['FirstName'] . " " . $row['LastName'];
-
echo "
";
-
}
-
-
mysql_close($con);
-
?>
-
-
上面这个例子在 $result 变量中存放由 mysql_query() 函数返回的数据。接下来,我们使用 mysql_fetch_array() 函数以数组的形式从记录集返回第一行。每个随后对 mysql_fetch_array() 函数的调用都会返回记录集中的下一行。 while loop 语句会循环记录集中的所有记录。为了输出每行的值,我们使用了 PHP 的 $row 变量 ($row['FirstName'] 和 $row['LastName'])。
-
-
以上代码的输出:
-
-
Peter Griffin
-
Glenn Quagmire
-
-
在 HTML 表格中显示结果
-
-
下面的例子选取的数据与上面的例子相同,但是将把数据显示在一个 HTML 表格中:
-
-
<?php
-
$con = mysql_connect("localhost","peter","abc123");
-
if (!$con)
-
{
-
die('Could not connect: ' . mysql_error());
-
}
-
-
mysql_select_db("my_db", $con);
-
-
$result = mysql_query("SELECT * FROM Persons");
-
-
echo "
-
-
Firstname |
-
Lastname |
-
";
-
-
while($row = mysql_fetch_array($result))
-
{
-
echo "
";
-
echo "
" . $row['FirstName'] . " | ";
-
echo "
" . $row['LastName'] . " | ";
-
echo "
";
-
}
-
echo "
";
-
-
mysql_close($con);
-
?>
-
以上代码的输出:
Firstname |
Lastname |
Glenn |
Quagmire |
Peter |
Griffin
|
二、mysql_where- 如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。
-
WHERE 子句
-
-
如需选取匹配指定条件的数据,请向 SELECT 语句添加 WHERE 子句。
-
语法
-
-
SELECT column FROM table
-
WHERE column operator value
-
-
下面的运算符可与 WHERE 子句一起使用:
-
运算符 说明
-
= 等于
-
!= 不等于
-
> 大于
-
< 小于
-
>= 大于或等于
-
<= 小于或等于
-
BETWEEN 介于一个包含范围内
-
LIKE 搜索匹配的模式
-
-
注释:SQL 语句对大小写不敏感。WHERE 与 where 等效。
-
-
为了让 PHP 执行上面的语句,我们必须使用 mysql_query() 函数。该函数用于向 SQL 连接发送查询和命令。
-
例子
-
-
下面的例子将从 "Persons" 表中选取所有 FirstName='Peter' 的行:
-
-
<?php
-
$con = mysql_connect("localhost","peter","abc123");
-
if (!$con)
-
{
-
die('Could not connect: ' . mysql_error());
-
}
-
-
mysql_select_db("my_db", $con);
-
-
$result = mysql_query("SELECT * FROM Persons
-
WHERE FirstName='Peter'");
-
-
while($row = mysql_fetch_array($result))
-
{
-
echo $row['FirstName'] . " " . $row['LastName'];
-
echo "
";
-
}
-
-
?>
-
-
以上代码的输出:
-
-
Peter Griffin
三、mysql_order_by
- ORDER BY 关键词用于对记录集中的数据进行排序。
-
ORDER BY 关键词
-
-
ORDER BY 关键词用于对记录集中的数据进行排序。
-
语法
-
-
SELECT column_name(s)
-
FROM table_name
-
ORDER BY column_name
-
-
注释:SQL 对大小写不敏感。ORDER BY 与 order by 等效。
-
例子
-
-
下面的例子选取 "Persons" 表中的存储的所有数据,并根据 "Age" 列对结果进行排序:
-
-
<?php
-
$con = mysql_connect("localhost","peter","abc123");
-
if (!$con)
-
{
-
die('Could not connect: ' . mysql_error());
-
}
-
-
mysql_select_db("my_db", $con);
-
-
$result = mysql_query("SELECT * FROM Persons ORDER BY age");
-
-
while($row = mysql_fetch_array($result))
-
{
-
echo $row['FirstName'];
-
echo " " . $row['LastName'];
-
echo " " . $row['Age'];
-
echo "
";
-
}
-
-
mysql_close($con);
-
?>
-
-
以上代码的输出:
-
-
Glenn Quagmire 33
-
Peter Griffin 35
-
-
升序或降序的排序
-
-
如果您使用 ORDER BY 关键词,记录集的排序顺序默认是升序(1 在 9 之前,"a" 在 "p" 之前)。
-
-
请使用 DESC 关键词来设定降序排序(9 在 1 之前,"p" 在 "a" 之前):
-
-
SELECT column_name(s)
-
FROM table_name
-
ORDER BY column_name DESC
-
-
根据两列进行排序
-
-
可以根据多个列进行排序。当按照多个列进行排序时,只有第一列相同时才使用第二列:
-
-
SELECT column_name(s)
-
FROM table_name
-
ORDER BY column_name1, column_name2
阅读(1382) | 评论(0) | 转发(0) |