MySQL与PHP的基础与应用专题之数据查询
目录
- 概述
- 条件查询
- 例1
- 例2
- 运算符IN
- 例1
- 例2
- 运算符Like
- 例1
- 例2
概述
从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.
条件查询
我们可以使用关键词Where
来指定条件, 用于插入, 修改删除或者查询数据.
运算符 | 描述 |
---|---|
= | 等于 |
<> | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
between and | 小于等于 |
and | 与, 表示左右两边的条件同时成立 |
or | 或, 表示左右两边只要有一个条件成立 |
表记录:
例 1
从表中筛选女性用户:
<?php # 创建连接 $conn = mysqli_connect("localhost", "root", "admin", "study"); # 查看是否连接成功 if ($conn) { echo "服务器连接成功!\n"; } else { echo mysqli_connect_error(); } # SQL语句, 条件查询 $SQL = "SELECT * FROM user where sex=2"; # 执行SQL语句 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL语句执行成功!\n"; } else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
输出结果:
服务器连接成功!
SQL语句执行成功!
Array
(
[id] => 1
[username] => 我是小白呀
[password] => 123456
[sex] => 2
[salary] => 30000.00
)
Array
(
[id] => 2
[username] => 张美丽
[password] => 123456
[sex] => 2
[salary] => 5000.00
)
例 2
从表中筛选工资 >= 5000 的用户:
<?php # 创建连接 $conn = mysqli_connect("localhost", "root", "admin", "study"); # 查看是否连接成功 if ($conn) { echo "服务器连接成功!\n"; } else { echo mysqli_connect_error(); } # SQL语句, 条件查询 $SQL = "SELECT * FROM user where salary>=5000"; # 执行SQL语句 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL语句执行成功!\n"; } else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
输出结果:
服务器连接成功!
SQL语句执行成功!
Array
(
[id] => 1
[username] => 我是小白呀
[password] => 123456
[sex] => 2
[salary] => 30000.00
)
Array
(
[id] => 2
[username] => 张美丽
[password] => 123456
[sex] => 2
[salary] => 5000.00
)
Array
(
[id] => 5
[username] => 王二狗
[password] => 123123
[sex] => 1
[salary] => 6000.00
)
运算符 IN
运算符 IN 允许我们在 WHERE 子句中过滤某个字段的多个值.
SQL 语句:
SELECT 列名 FROM 表名 WHERE 列名 IN (值1, 值2, 值3, ...)
例 1
<?php # 创建连接 $conn = mysqli_connect("localhost", "root", "admin", "study"); # 查看是否连接成功 if ($conn) { echo "服务器连接成功!\n"; } else { echo mysqli_connect_error(); } # SQL语句, 条件查询 $SQL = "SELECT * FROM user WHERE username IN ('我是小白呀', '王二狗')"; # 执行SQL语句 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL语句执行成功!\n"; } else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
输出结果:
服务器连接成功!
SQL语句执行成功!
Array
(
[id] => 1
[username] => 我是小白呀
[password] => 123456
[sex] => 2
[salary] => 30000.00
)
Array
(
[id] => 5
[username] => 王二狗
[password] => 123123
[sex] => 1
[salary] => 6000.00
)
例 2
<?php # 创建连接 $conn = mysqli_connect("localhost", "root", "admin", "study"); # 查看是否连接成功 if ($conn) { echo "服务器连接成功!\n"; } else { echo mysqli_connect_error(); } # SQL语句, 条件查询 $SQL = "SELECT * FROM user WHERE id IN (1, 2)"; # 执行SQL语句 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL语句执行成功!\n"; } else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
运算符 Like
在 WHERE 子句中, 有时候我们需要查询包含某字符串的所有记录, 这时就需要用到运算符 Like.
SQL 语句:
SELECT 列名 FROM 表名 WHERE 列名 LIKE %值%
注意:
- LIKE 子句中的
%
类似于正则表达式中的 *, 匹配任意 0 个或多个字符 - LIKE 子句中的
_
匹配任意单个字符 - LIKE 子句中如果没有
%
和_
, 就相当于运算符=
的效果
例 1
查找姓王的用户:
<?php # 创建连接 $conn = mysqli_connect("localhost", "root", "admin", "study"); # 查看是否连接成功 if ($conn) { echo "服务器连接成功!\n"; } else { echo mysqli_connect_error(); } # SQL语句, 查找王姓 $SQL = "SELECT * FROM user WHERE username LIKE '王%'"; # 执行SQL语句 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL语句执行成功!\n"; } else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
输出结果:
服务器连接成功!
SQL语句执行成功!
Array
(
[id] => 3
[username] => 王富贵
[password] => 123456
[sex] => 1
[salary] => 1000.00
)
Array
(
[id] => 5
[username] => 王二狗
[password] => 123123
[sex] => 1
[salary] => 6000.00
)
例 2
名字为三个字:
<?php # 创建连接 $conn = mysqli_connect("localhost", "root", "admin", "study"); # 查看是否连接成功 if ($conn) { echo "服务器连接成功!\n"; } else { echo mysqli_connect_error(); } # SQL语句, 条件查询 $SQL = "SELECT * FROM user WHERE username LIKE '___'"; # 执行SQL语句 $result = mysqli_query($conn, $SQL); # 查看是否执行成功 if ($result) { echo "SQL语句执行成功!\n"; } else { echo mysqli_error($conn); } # 调试输出 while ($line = mysqli_fetch_assoc($result)) { print_r($line); } # 关闭连接 mysqli_close($conn); ?>
到此这篇关于MySQL与PHP的基础与应用专题之数据查询的文章就介绍到这了,更多相关MySQL 数据查询内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!