MySQL 查询语句
SQL SELECT 命令用于从MySQL数据库中获取数据。您可以在mysql> 提示符下使用此命令,也可以在任何脚本(如PHP)中使用。
语法
以下是从MySQL表中获取数据的SELECT命令的通用SQL语法。
SELECT field1, field2,...fieldN
FROM table_name1, table_name2...
[WHERE Clause]
[OFFSET M ][LIMIT N]
- 你可以使用用逗号分隔的一个或多个表来在WHERE子句中包含不同的条件,但WHERE子句是SELECT命令的可选部分。
-
你可以在一个SELECT命令中获取一个或多个字段。
-
你可以在字段的位置指定星号(
*
)。在这种情况下,SELECT将返回所有字段。 -
你可以使用WHERE子句指定任何条件。
-
你可以使用 OFFSET 指定一个偏移量,从这个位置开始返回记录。默认情况下,偏移量从零开始。
-
你可以使用 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脚本获取数据
PHP使用mysqli_query()或mysql_query()函数从MySQL表中选择记录。此函数接受两个参数并在成功时返回TRUE,失败时返回FALSE。
语法
$mysqli->query($sql,$resultmode)
编号 | 参数和描述 |
---|---|
1 | $sql 必需 – 用于从MySQL表中选择记录的SQL查询。 |
2 | $resultmode 可选 – 根据所需的行为,可以是常量MYSQLI_USE_RESULT或MYSQLI_STORE_RESULT。默认情况下,使用MYSQLI_STORE_RESULT。 |
示例
尝试以下示例从表中选择记录 –
将以下示例复制并粘贴为 mysql_example.php –
<html>
<head>
<title>Creating MySQL Table</title>
</head>
<body>
<?php
dbhost = 'localhost';dbuser = 'root';
dbpass = 'root@123';dbname = 'TUTORIALS';
mysqli = new mysqli(dbhost, dbuser,dbpass, dbname);
if(mysqli->connect_errno ) {
printf("Connect failed: %s<br />", mysqli->connect_error);
exit();
}
printf('Connected successfully.<br />');sql = "SELECT tutorial_id, tutorial_title, tutorial_author, submission_date FROM tutorials_tbl";
result =mysqli->query(sql);
if (result->num_rows > 0) {
while(row =result->fetch_assoc()) {
printf("Id: %s, Title: %s, Author: %s, Date: %d <br />",
row["tutorial_id"],row["tutorial_title"],
row["tutorial_author"],row["submission_date"]);
}
} else {
printf('No record found.<br />');
}
mysqli_free_result(result);mysqli->close();
?>
</body>
</html>
输出
访问部署在 Apache web 服务器上的 mysql_example.php,并验证输出结果。在运行选择脚本之前,我们在表中输入了多条记录。
Connected successfully.
Id: 1, Title: MySQL Tutorial, Author: Mahesh, Date: 2021
Id: 2, Title: HTML Tutorial, Author: Mahesh, Date: 2021
Id: 3, Title: PHP Tutorial, Author: Mahesh, Date: 2021
Id: 4, Title: Java Tutorial, Author: Mahesh, Date: 2021
Id: 5, Title: Apache Tutorial, Author: Suresh, Date: 2021