📅  最后修改于: 2020-11-27 06:34:13             🧑  作者: Mango
SQL SELECT命令用于从MySQL数据库获取数据。您可以在mysql>提示符以及任何脚本(如PHP)中使用此命令。
这是SELECT命令的通用SQL语法,用于从MySQL表中获取数据-
SELECT field1, field2,...fieldN
FROM table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]
您可以使用WHERE子句来使用一个或多个用逗号分隔的表来包含各种条件,但是WHERE子句是SELECT命令的可选部分。
您可以在单个SELECT命令中获取一个或多个字段。
您可以指定星号(*)代替字段。在这种情况下,SELECT将返回所有字段。
您可以使用WHERE子句指定任何条件。
您可以使用OFFSET指定偏移量,SELECT将从该偏移量开始返回记录。默认情况下,偏移量从零开始。
您可以使用LIMIT属性限制退货数量。
这将使用SQL SELECT命令从MySQL表tutorials_tbl中获取数据。
以下示例将返回tutorials_tbl表中的所有记录-
root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from tutorials_tbl
+-------------+----------------+-----------------+-----------------+
| tutorial_id | tutorial_title | tutorial_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 1 | Learn PHP | John Poul | 2007-05-21 |
| 2 | Learn MySQL | Abdul S | 2007-05-21 |
| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |
+-------------+----------------+-----------------+-----------------+
3 rows in set (0.01 sec)
mysql>
您可以在PHP函数mysql_query()中使用相同的SQL SELECT命令。该函数用于执行SQL命令,然后可以使用另一个PHP函数mysql_fetch_array()来获取所有选定数据。此函数以关联数组,数字数组或两者兼有的形式返回该行。如果没有更多行,此函数将返回FALSE。
下面的程序是一个简单的示例,它将显示如何从tutorials_tbl表中获取/显示记录。
下面的代码块将显示tutorials_tbl表中的所有记录。
".
"Title: {$row['tutorial_title']}
".
"Author: {$row['tutorial_author']}
".
"Submission Date : {$row['submission_date']}
".
"--------------------------------
";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
将行的内容分配给变量$ row,然后打印该行中的值。
注意-当您想将数组值直接插入字符串时,请始终记住使用大括号。
在上面的示例中,常量MYSQL_ASSOC用作PHP函数mysql_fetch_array()的第二个参数,因此它将行作为关联数组返回。使用关联数组,您可以使用字段名称而不是使用索引来访问该字段。
PHP提供了另一个名为mysql_fetch_assoc()的函数,该函数还以关联数组的形式返回该行。
下面的示例使用mysql_fetch_assoc()函数显示tutorial_tbl表中的所有记录。
".
"Title: {$row['tutorial_title']}
".
"Author: {$row['tutorial_author']}
".
"Submission Date : {$row['submission_date']}
".
"--------------------------------
";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
您还可以将常量MYSQL_NUM用作PHP函数mysql_fetch_array()的第二个参数。这将导致函数返回带有数字索引的数组。
尝试以下示例使用MYSQL_NUM参数显示tutorials_tbl表中的所有记录。
".
"Title: {$row[1]}
".
"Author: {$row[2]}
".
"Submission Date : {$row[3]}
".
"--------------------------------
";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
以上三个示例都将产生相同的结果。
在每个SELECT语句的末尾释放游标内存是一个好习惯。这可以通过使用PHP函数mysql_free_result()来完成。下面的程序是显示应如何使用的示例。
尝试以下示例-
".
"Title: {$row[1]}
".
"Author: {$row[2]}
".
"Submission Date : {$row[3]}
".
"--------------------------------
";
}
mysql_free_result($retval);
echo "Fetched data successfully\n";
mysql_close($conn);
?>
在获取数据时,您可以根据需要编写复杂的代码,但是该过程将保持与上述相同。