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

相关文章

  • Windows10下mysql 5.7.21 Installer版安装图文教程

    Windows10下mysql 5.7.21 Installer版安装图文教程

    这篇文章主要为大家详细介绍了Windows10下mysql 5.7.21 Installer版安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • 关于mysql合并表的详细介绍

    关于mysql合并表的详细介绍

    本篇文章是对mysql中的合并表进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySQL数据库使用mysqldump导出数据详解

    MySQL数据库使用mysqldump导出数据详解

    mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。接下来通过本文给大家介绍MySQL数据库使用mysqldump导出数据详解,需要的朋友一起学习吧
    2016-04-04
  • MySQL Left JOIN时指定NULL列返回特定值详解

    MySQL Left JOIN时指定NULL列返回特定值详解

    我们有时会有这样的应用,需要在sql的left join时,需要使值为NULL的列不返回NULL而时某个特定的值,比如0。这个时候,用is_null(field,0)是行不通的,会报错的,可以用ifnull实现,但是COALESE似乎更符合标准
    2013-07-07
  • MySQL 与 Elasticsearch 数据不对称问题解决办法

    MySQL 与 Elasticsearch 数据不对称问题解决办法

    这篇文章主要介绍了MySQL 与 Elasticsearch 数据不对称问题解决办法的相关资料,对于 elasticsearch 增量写入,但经常jdbc源一端的数据库可能会做数据库删除或者更新操作,这里提供解决办法,需要的朋友可以参考下
    2017-08-08
  • MySQL如何建表及导出建表语句

    MySQL如何建表及导出建表语句

    这篇文章主要介绍了MySQL如何建表及导出建表语句,文章围绕主题的相关资料展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • 在CentOS上安装phpMyAdmin的教程

    在CentOS上安装phpMyAdmin的教程

    这篇文章主要介绍了在CentOS上安装phpMyAdmin的教程,phpMyAdmin是一款借助PHP脚本来操作MySQL的工具,非常具有人气,需要的朋友可以参考下
    2015-06-06
  • MySQL时区差8小时的多种问题解决方法

    MySQL时区差8小时的多种问题解决方法

    mybatis将本地的数据传入到mysql数据库服务器的时候,服务器会对数据进行检测,会把date类型的数据自动转换为mysql服务器所对应的时区,即0时区,所以会相差8小时,本文给大家介绍了MySQL时区差8小时的问题解决方法,需要的朋友可以参考下
    2024-01-01
  • MySQL  Lock wait timeout exceeded错误解决

    MySQL  Lock wait timeout exceeded错误

    “Lock wait timeout exceeded” 是一个常见的MySQL错误,指示了潜在的性能问题或死锁,本文就来介绍一下如何解决,感兴趣的可以了解一下
    2024-05-05
  • MySQL中对查询结果排序和限定结果的返回数量的用法教程

    MySQL中对查询结果排序和限定结果的返回数量的用法教程

    这篇文章主要介绍了MySQL中对查询结果排序和限定结果的返回数量的用法教程,分别讲解了Order By语句和Limit语句的基本使用方法,需要的朋友可以参考下
    2015-12-12

最新评论