MySQL与PHP的基础与应用专题之数据查询
作者:我是小白呀 时间:2023-11-10 10:09:55
概述
从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.
条件查询
我们可以使用关键词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);
?>
来源:https://iamarookie.blog.csdn.net/article/details/122389739