MySQL与PHP的基础与应用专题之数据查询

 更新时间:2022年02月21日 15:45:28   作者:我是小白呀  
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,本系列将带你掌握php与mysql的基础应用,本篇从数据的查询开始

概述

从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.

条件查询

我们可以使用关键词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 数据查询内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中子查询的具体实现

    MySQL中子查询的具体实现

    MySQL 提供了子查询这一强大工具,帮助我们实现嵌套查询,本文主要介绍了MySQL中子查询的具体实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-09-09
  • 一文了解Mysql分区的使用

    一文了解Mysql分区的使用

    分区允许根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分,本文主要介绍了Mysql分区的使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • 几个常见的MySQL的可优化点归纳总结

    几个常见的MySQL的可优化点归纳总结

    这篇文章主要介绍了几个常见的MySQL的可优化点归纳总结,包括在编程时处理索引、分页以及数据类型时可用到的地方,需要的朋友可以参考下
    2015-05-05
  • 解决MySQL数据库链接超时报1129错误问题

    解决MySQL数据库链接超时报1129错误问题

    MySQL 为了数据库的安全性默认在链接中断或者错误时记录错误链接的ip 等信息(host_cache),有点像系统的错误日志的一种机制,这篇文章主要介绍了MySQL数据库链接超时报1129错误解决办法,需要的朋友可以参考下
    2022-10-10
  • MySQL配置文件my.cnf优化详解(mysql5.5)

    MySQL配置文件my.cnf优化详解(mysql5.5)

    这篇文章主要介绍了MySQL配置文件my.cnf优化详解,需要的朋友可以参考下
    2014-12-12
  • MySQL字符串函数详解(推荐)

    MySQL字符串函数详解(推荐)

    下面小编就为大家带来一篇MySQL字符串函数详解(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • 一文搞懂mysql如何处理json格式的字段(解析json数据)

    一文搞懂mysql如何处理json格式的字段(解析json数据)

    这篇文章主要给大家介绍了关于mysql如何处理json格式的字段的相关资料,MySQL中的JSON类型是一种数据类型,用于存储和处理JSON(JavaScript Object Notation)格式的数据,需要的朋友可以参考下
    2023-12-12
  • mysql 锁表锁行语句分享(MySQL事务处理)

    mysql 锁表锁行语句分享(MySQL事务处理)

    下面这个语句是锁定一行数据,开始读取,一直到删除后都不会有第二个人也读到这条数据
    2011-09-09
  • 完美解决MySQL通过localhost无法连接数据库的问题

    完美解决MySQL通过localhost无法连接数据库的问题

    下面小编就为大家带来一篇完美解决MySQL通过localhost无法连接数据库的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • MySQL 使用事件(Events)完成计划任务

    MySQL 使用事件(Events)完成计划任务

    事件(Events) 是在 MySQL 5.1后引入的,有点类似操作系统的计划任务(cron),但是周期性任务是内置在 MySQL 服务端执行的。本文讲述MySQL如何用事件完成计划任务
    2021-05-05

最新评论