MYSQL基础知识之【LIKE子句的使用 ,NULL值的处理,空值的处理】
文章目录
- 前言
- MySQL LIKE 子句
- 在PHP脚本中使用 LIKE 子句
- MySQL NULL 值处理
- 在命令提示符中使用 NULL 值
- 使用PHP脚本处理 NULL 值
- 后言
前言
hello world欢迎来到前端的新世界
😜当前文章系列专栏:Mysql
🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误,感谢大家指出)🌹
💖感谢大家支持!您的观看就是作者创作的动力
MySQL LIKE 子句
我们知道在MySQL中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。
WHERE 子句中可以使用等号 (=) 来设定获取数据的条件,如 “w3cschool_author = ‘Sanjay’”。
但是有时候我们需要获取 w3cschool_author 字段含有 “jay” 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
SQL LIKE 子句中使用百分号(%)字符来表示任意字符,类似于UNIX或正则表达式中的星号 (*)。
如果没有使用百分号(%), LIKE 子句与等号(=)的效果是一样的。
语法
以下是SQL SELECT 语句使用 LIKE 子句从数据表中读取数据的通用语法:
root@host# mysql -u root -p password;
Enter password:*******
mysql> use W3CSCHOOL;
Database changed
mysql> SELECT * from w3cschool_tbl -> WHERE w3cschool_author LIKE '%jay';
+-------------+----------------+-----------------+-----------------+
| w3cschool_id | w3cschool_title | w3cschool_author | submission_date |
+-------------+----------------+-----------------+-----------------+
| 3 | JAVA Tutorial | Sanjay | 2007-05-21 |
+-------------+----------------+-----------------+-----------------+
1 rows in set (0.01 sec)mysql>
在PHP脚本中使用 LIKE 子句
你可以使用PHP函数的mysql_query()及相同的SQL SELECT 带上 WHERE…LIKE 子句的命令来获取数据。
该函数用于执行SQL命令,然后通过 PHP 函数 mysql_fetch_array() 来输出所有查询的数据。
但是如果是DELETE或者UPDATE中使用 WHERE…LIKE 子句的SQL语句,则无需使用mysql_fetch_array() 函数。
实例
以下是我们使用PHP脚本在w3cschool_tbl表中读取w3cschool_author字段中以"jay"为结尾的的所有记录:
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ){die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT w3cschool_id, w3cschool_title,w3cschool_author, submission_dateFROM w3cschool_tblWHERE w3cschool_author LIKE "%jay%"';mysql_select_db('W3CSCHOOL');
$retval = mysql_query( $sql, $conn );
if(! $retval ){die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC)){echo "Tutorial ID :{$row['w3cschool_id']} <br> "."Title: {$row['w3cschool_title']} <br> "."Author: {$row['w3cschool_author']} <br> "."Submission Date : {$row['submission_date']} <br> "."--------------------------------<br>";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
MySQL NULL 值处理
我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作。
为了处理这种情况,MySQL提供了三大运算符:
- IS NULL: 当列的值是NULL,此运算符返回true。
- IS NOT NULL: 当列的值不为NULL, 运算符返回true。
- <=>: 比较操作符(不同于=运算符),当比较的的两个值为NULL时返回true。
关于 NULL 的条件比较运算是比较特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
在MySQL中,NULL值与任何其它值的比较(即使是NULL)永远返回false,即 NULL = NULL 返回false 。
MySQL中处理NULL使用IS NULL和IS NOT NULL运算符。
在命令提示符中使用 NULL 值
以下实例中假设数据库 W3CSCHOOL 中的表 tcount_tbl 含有两列 w3cschool_author 和 w3cschool_count, w3cschool_count 中设置插入NULL值。
实例
尝试以下实例:
root@host# mysql -u root -p password;
Enter password:*******
mysql> use W3CSCHOOL;
Database changed
mysql> create table tcount_tbl-> (-> w3cschool_author varchar(40) NOT NULL,-> w3cschool_count INT-> );
Query OK, 0 rows affected (0.05 sec)
mysql> INSERT INTO tcount_tbl-> (w3cschool_author, w3cschool_count) values ('mahran', 20);
mysql> INSERT INTO tcount_tbl-> (w3cschool_author, w3cschool_count) values ('mahnaz', NULL);
mysql> INSERT INTO tcount_tbl-> (w3cschool_author, w3cschool_count) values ('Jen', NULL);
mysql> INSERT INTO tcount_tbl-> (w3cschool_author, w3cschool_count) values ('Gill', 20);mysql> SELECT * from tcount_tbl;
+-----------------+----------------+
| w3cschool_author | w3cschool_count |
+-----------------+----------------+
| mahran | 20 |
| mahnaz | NULL |
| Jen | NULL |
| Gill | 20 |
+-----------------+----------------+
4 rows in set (0.00 sec)mysql>
以下实例中你可以看到 = 和 != 运算符是不起作用的:
mysql> SELECT * FROM tcount_tbl WHERE w3cschool_count = NULL;
Empty set (0.00 sec)
mysql> SELECT * FROM tcount_tbl WHERE w3cschool_count != NULL;
Empty set (0.01 sec)
查找数据表中 w3cschool_count 列是否为 NULL,必须使用IS NULL和IS NOT NULL,如下实例:
mysql> SELECT * FROM tcount_tbl -> WHERE w3cschool_count IS NULL;
+-----------------+----------------+
| w3cschool_author | w3cschool_count |
+-----------------+----------------+
| mahnaz | NULL |
| Jen | NULL |
+-----------------+----------------+
2 rows in set (0.00 sec)
mysql> SELECT * from tcount_tbl -> WHERE w3cschool_count IS NOT NULL;
+-----------------+----------------+
| w3cschool_author | w3cschool_count |
+-----------------+----------------+
| mahran | 20 |
| Gill | 20 |
+-----------------+----------------+
2 rows in set (0.00 sec)
使用PHP脚本处理 NULL 值
PHP脚本中你可以在 if…else 语句来处理变量是否为空,并生成相应的条件语句。
以下实例中PHP设置了$w3cschool_count变量,然后使用该变量与数据表中的 w3cschool_count 字段进行比较:
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{die('Could not connect: ' . mysql_error());
}
if( isset($w3cschool_count ))
{$sql = 'SELECT w3cschool_author, w3cschool_countFROM tcount_tblWHERE w3cschool_count = $w3cschool_count';
}
else
{$sql = 'SELECT w3cschool_author, w3cschool_countFROM tcount_tblWHERE w3cschool_count IS $w3cschool_count';
}mysql_select_db('W3CSCHOOL');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{echo "Author:{$row['w3cschool_author']} "."Count: {$row['w3cschool_count']} "."--------------------------------
";
}
echo "Fetched data successfully\n";
mysql_close($conn);
?>
后言
创作不易,要是本文章对广大读者有那么一点点帮助 不妨三连支持一下,您的鼓励就是博主创作的动力
相关文章:
MYSQL基础知识之【LIKE子句的使用 ,NULL值的处理,空值的处理】
文章目录 前言MySQL LIKE 子句在PHP脚本中使用 LIKE 子句 MySQL NULL 值处理在命令提示符中使用 NULL 值使用PHP脚本处理 NULL 值 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱👓博主在前端领域还有…...
线索二叉树:C++实现
引言: 线索二叉树是一种特殊的二叉树,它可以通过线索(线索是指在二叉树中将空指针改为指向前驱或后继的指针)的方式将二叉树转化为一个线性结构,从而方便对二叉树进行遍历。本文将介绍如何使用C实现线索二叉树。 技术…...
C++——vector互换容器与预留空间
一.vector互换容器 功能描述:实现两个容器内元进行互换 函数原型: swap(vec); //将vec与本身的元素互换 实例: //1.基本使用 void test01() {vector<int>v1;for (int i 0; i < 10; i){v1.push_back(i);}cout << "交换前:" << e…...
Unity 自带的一些可以操控时间的属性或方法。
今天来总结下Unity自带的一些可以操控时间的方法。 1、Time.time。比较常用计算运行时间而触发特定事件。 public class Controller : MonoBehaviour {public float eventTime 5f; // 触发事件的时间private float startTime; // 游戏开始的时间private void Start(){startT…...
vue 项目中使用 mqtt
1、在html 中用cdn方式引入 <script src"https://unpkg.com/mqtt/dist/mqtt.min.js"></script> 2、封装代码 mqtt_connect.js // import * as mqtt from mqtt/dist/mqtt.min // 不知道为什么 我用引入的方式不成,就在html 用的cdn方式接入了…...
linux shell操作 - 05 进程 与 IO 模型
文章目录 计算机内存分配进程与子进程流IO模型非阻塞IOIO多路复用网络IO模型简单的socket并发的socket 计算机内存分配 一个32位,4G内存的计算机,内存使用分为两部分: 操作系统内核空间;应用程序的用户空间使用的操作系统不同&a…...
让SOME/IP运转起来——SOME/IP系统设计(下)之数据库开发
上一篇我们介绍了SOME/IP矩阵的设计流程,这一篇重点介绍如何把SOME/IP矩阵顺利的交给下游软件团队进行开发。 车载以太网通信矩阵开发完成后,下一步应该做什么? 当我们完成SOME/IP矩阵开发,下一步需要把开发完成的矩阵换成固定格…...
Mybatis反射工厂类DefaultReflectorFactory
DefaultReflectorFactory是反射工厂接口ReflectorFactory的默认实现,其主要是实现了对反射对象Reflector的创建和缓存。 有三个方法: // 判断是否开启缓存boolean isClassCacheEnabled();// 设置是否缓存void setClassCacheEnabled(boolean classCacheEn…...
antDesignPro a-table样式二次封装
antDesignPro是跟element-ui类似的一个样式框架,其本身就是一个完整的后台系统,风格样式都很统一。我使用的是antd pro vue,版本是1.7.8。公司要求使用这个框架,但是UI又有自己的一套设计。这就导致我需要对部分组件进行一定的个性…...
找免费4K高清图片素材,就上这6个网站
使用图片素材怕侵权?那就上这6个网站,免费下载,4K高清无水印,赶紧收藏起来~ 1、菜鸟图库 https://www.sucai999.com/pic.html?vNTYxMjky 一个很大的素材库,站内主要还是以设计素材为主,像图片素材就有上百…...
代码随想录算法训练营第35天| 860.柠檬水找零 406.根据身高重建队列 452. 用最少数量的箭引爆气球
JAVA代码编写 860.柠檬水找零 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须…...
成为AI产品经理——TPR、FPR、ROC、AUC
目录 一、PR图、BEP 1.PR图 2.BEP 二、灵敏度、特异度 1.灵敏度 2.特异度 三、真正率、假正率 1.真正率 2.假正率 三、ROC、AUC 1.ROC 2.AUC 四、KS值 一、PR图、BEP 1.PR图 二分类问题模型通常输出的是一个概率值,我们需要设定一个阈值ÿ…...
java: Internal error in the mapping processor: java.lang.NullPointerException
启动java项目出错,其他人工程没有问题,别着急。 java: Internal error in the mapping processor: java.lang.NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifestUrl(DefaultVersionInformation.j…...
TCP知识点
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层协议,广泛应用于互联网。下面是TCP的一些知识点: TCP是一种可靠的协议,采用三次握手建立连接和四次挥手断开…...
大语言模型(LLMs)在 Amazon SageMaker 上的动手实践(一)
本期文章,我们将通过三个动手实验从浅到深地解读和演示大语言模型(LLMs),如何结合 Amazon SageMaker 的模型部署、模型编译优化、模型分布式训练等。 实验一:使用 Amazon SageMaker 构建基于开源 GPT-J 模型的对话机器…...
顶级数据恢复工具—— 最全的15个数据恢复软件榜单
在这个信息为王的数字时代,关键数据的丢失对个人和企业来说都可能是灾难性的。无论是由于意外删除、硬件故障还是恶意攻击,拥有强大的数据恢复解决方案都是至关重要的。在本综合指南中,我们将探索市场上最好的数据恢复软件,包括顶…...
【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解
【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解 文章目录 【图像分类】【深度学习】【Pytorch版本】Inception-ResNet模型算法详解前言Inception-ResNet讲解Inception-ResNet-V1Inception-ResNet-V2残差模块的缩放(Scaling of the Residuals)Inception-…...
Ubuntu 22.03 LTS 安装deepin-terminal 实现 终端 分屏
deepin-terminal 安装 源里面自带了这个软件,可以直接装 sudo apt install deepin-terminal 启动 按下Win键,输入deep即可快速检索出图标,点击启动 效果 分屏 CtrlShiftH 水平分割 CtrlShiftJ 垂直分割 最多分割成四个小窗口࿰…...
HTTP协议,Web框架回顾
HTTP 请求协议详情 -请求首行---》请求方式,请求地址,请求协议版本 -请求头---》key:value形式 -referer:上一次访问的地址 -user-agenet:客户端类型 -name:lqz -cookie&…...
el-checkbox 对勾颜色调整
对勾默认是白色 改的时候一直在试着改color人,其实不对。我用的是element ui 的复选框 /* 对勾颜色调整 */ .el-checkbox__inner::after{/* 是改这里的颜色 */border: 2px solid #1F7DFD; border-left: 0;border-top: 0;}...
基于Docker与vLLM的大模型部署实战:从环境搭建到性能调优
1. 环境准备:Docker与GPU基础配置 在开始部署大模型之前,我们需要先搭建好基础环境。我推荐使用Docker来管理环境,因为它能解决依赖冲突问题,还能实现一键部署。不过要注意,如果你的机器没有NVIDIA显卡,后续…...
Ubuntu启动失败:No bootable devices found的排查与修复指南
1. 问题现象与初步判断 当你按下电源键期待Ubuntu系统正常启动时,屏幕上突然跳出"No bootable devices found"的提示,这种场景就像你拿着钥匙却打不开自家房门一样令人焦虑。这个错误通常意味着计算机的固件(BIOS/UEFI)…...
macOS用户必看:BongoCat键盘输入无响应?3步权限配置终极指南
macOS用户必看:BongoCat键盘输入无响应?3步权限配置终极指南 【免费下载链接】BongoCat 🐱 跨平台互动桌宠 BongoCat,为桌面增添乐趣! 项目地址: https://gitcode.com/gh_mirrors/bong/BongoCat 你是否遇到过这…...
【Maxwell16.0】进阶实战:外电路负载与空载模型的动态切换技巧
1. Maxwell16.0外电路基础概念解析 刚接触Maxwell16.0的朋友可能会被"外电路"这个概念吓到,其实它就像给电机模型接上一个可编程的电源插座。我在第一次搭建外电路时也犯过迷糊,后来发现只要理解几个关键点就能轻松上手。 外电路的核心作用是替…...
若依前后端分离版部署实战:Nginx反向代理+生产环境优化配置
若依前后端分离版生产环境部署全攻略:Nginx调优与安全实践 第一次将若依框架部署到生产环境时,我遇到了前端资源加载缓慢、后端接口频繁超时的问题。经过多次实战调优,终于总结出一套兼顾性能与安全的部署方案。本文将分享从基础部署到深度优…...
为什么要做 GeoPipeAgent每
指令替换 项目需求:将加法指令替换为减法 项目目录如下 /MyProject ├── CMakeLists.txt # CMake 配置文件 ├── build/ #构建目录 │ └── test.c #测试编译代码 └── mypass2.cpp # pass 项目代码 一,测试代码示例 test.c // test.c #includ…...
收藏!33岁十年传统程序员被裁后,靠大模型重获新生(小白/中年程序员必看)
33岁,深耕十年的传统程序员,在行业优化潮的席卷下,毫无征兆地收到了裁员通知。没有提前预警,没有缓冲时间,手里的离职证明,像一块巨石,砸碎了我以为“技术立身就能安身立命”的执念。 十年间&am…...
小白友好:Qwen3-0.6B-FP8部署全流程,Chainlit让交互可视化
小白友好:Qwen3-0.6B-FP8部署全流程,Chainlit让交互可视化 1. 认识Qwen3-0.6B-FP8模型 Qwen3-0.6B-FP8是阿里巴巴通义千问系列中的轻量级语言模型,特别适合在资源有限的设备上快速部署和运行。这个版本采用了FP8(8位浮点数&…...
AI编程新范式:使用Claude Code辅助开发cv_resnet101_face-detection应用
AI编程新范式:使用Claude Code辅助开发cv_resnet101_face-detection应用 1. 引言 如果你做过计算机视觉项目,肯定有过这样的体验:好不容易找到一个合适的预训练模型,比如人脸检测的cv_resnet101_face-detection,但真…...
WarcraftHelper实战宝典:让魔兽争霸3在现代系统上焕发新生
WarcraftHelper实战宝典:让魔兽争霸3在现代系统上焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为经典游戏与现代系统的兼容…...
