MySQL中的模糊查询

2023-11-12

                                           
               
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。 
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
将会把u_name为“张三”,“张猫三”、“三脚猫”,“唐三藏”等等有“三”的记录全找出来。
另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'

虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。

2,_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;

再比如 SELECT * FROM [user] WHERE u_name LIKE '三__'; 只找出“三脚猫”这样name为三个字且第一个字是“三”的;

3,[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三' 将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]' 将找出“老1”、“老2”、……、“老9”;

4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三' 将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]'; 将排除“老1”到“老4”,寻找“老5”、“老6”、……

5,查询内容包含通配符
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数:
function sqlencode(str) str=replace(str,"';","';';")
str=replace(str,"[","[[]") ';此句一定要在最先 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end function
           
                     
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL中的模糊查询 的相关文章

  • 如何在 MySQL 中创建查询以根据日期和独特字段减去连续行?

    基于SQL根据日期和另一列减去两行 https stackoverflow com questions 12310221 sql subtract two rows based on date and another column我有一个好
  • 如何告诉node.js mysql没有在默认端口上运行?

    我遇到了与此人类似的问题 连接 ECONNREFUSED 节点 js sql https stackoverflow com questions 8825342 connect econnrefused node js sql 我正在尝试将
  • VB.NET 和 MySql UPDATE 查询

    我的代码在这里没有错误 至少在我调试它时没有错误 我使用VS 2010 但我希望发生的是 当我单击添加按钮时 文本框 txtQty 中的数字将添加到当前保存在 数量 列中的数字中 例如 txtQty 100 该列上的当前值为 200 我想将
  • 使用 PHP 显示 Mysql 中的图像

    这就是我的数据库中的表的样子 我正在尝试显示我存储的图像 它是 mimetype longblob 当我运行代码时 它会给我一个带有 的小框 没有错误 只是那个框 有谁知道错误是什么以及如何修复它 Display Index Display
  • 无法将包含数据的大型 CSV 文件转换为 mysql 数据库[重复]

    这个问题在这里已经有答案了 如何将大型文本文件转换为mysql数据库 文件大小3GB 1100万行 文件中的每一行都是这样的 1303179444 20 5811 Ahmed Al Emam male ahmed e alemam ahme
  • PDO 连接字符串:最好的方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我想使用 php pdo 制作一个后端应用程序 我发现了很多不同的方法来处理 PDO 连接字符串 我想知道使用 pdo 执行连接字符串的最佳方法
  • 如何使用 SQL - INSERT...ON DUPLICATE KEY UPDATE?

    我有一个脚本可以捕获推文并将其放入数据库中 我将在 cronjob 上运行脚本 然后在我的网站上显示数据库中的推文 以防止达到 Twitter API 的限制 所以我不想在我的数据库中有重复的推文 我知道我可以使用 INSERT ON DU
  • 像搜索一样在mysql中包含空格

    我在某些情况下使用 mysql like 关键字时遇到问题 我的要求是这样的 首先 当我搜索时 ABC 结果应该找到ABC and ABCdef但不是xyzABCdef or xyzABC 乍一看使用起来很简单ABC 但在我搜索时的情况 h
  • 在 Java Web 应用程序中获取 DataSource 资源

    我的 context xml 文件中有以下资源标记
  • 如何限制mySQL中的搜索和替换字符串

    我用它来搜索和替换 mySQL 中的字符串 UPDATE products SET prodname REPLACE prodname S S 这些产品包含诸如 TYLENOL TABS 100 S 之类的字符串 我想将其转换为 TYLEN
  • 如何设置 Hibernate 读取/写入不同的数据源?

    使用 Spring 和 Hibernate 我想写入一个 MySQL 主数据库 并从基于云的 Java Web 应用程序中的另一个复制从属数据库中读取数据 我找不到对应用程序代码透明的解决方案 我真的不想更改我的 DAO 来管理不同的 Se
  • 导入mysql数据库出错

    我导出我的数据库并导出到另一台计算机使用 phpmyadmin 但它错误 静态分析 分析过程中发现2处错误 意想不到的角色 靠近位置 53 的 无法识别的语句类型 位置 1 的 div 附近 SQL查询 div class error h1
  • MYSQL 中当前行上日期之前(并包括该日期)的所有行的总和

    重要的是要知道在查询期间日期是未知的 因此我不能只硬编码 WHERE 子句 这是我的桌子 Date ID Customer Order Count 20150101 Jones 6 20150102 Jones 4 20150103 Jon
  • 在“GROUP BY”子句中重用选择表达式的结果?

    在 MySQL 中 我可以有这样的查询 select cast from unixtime t time Y m d H 00 as datetime as timeHour from some table t group by timeH
  • MySQL Spatial CONTAINS 显示错误结果

    我的 MySQL 空间搜索有一个奇怪的行为 我在 GEOM 字段 葡萄牙边界 中创建了一个多边形 然后我尝试在内部找到一个点 发现没问题 下一次尝试是查找多边形外部的点 但查询仍返回 1 个找到的行 请帮忙 我做错了什么 为什么它会找到多边
  • 使用 mariaDB 将 sql 转储文件安装到 docker 容器

    我刚刚学习 docker 的基础知识 但一直停留在从本地系统导入 SQl 文件上 我使用的是 Windows 10 并允许我的 docker 容器访问我的共享驱动器 我有一个位于 D 上的 SQL 文件 我想导入到从 docker hub
  • 如何在mysql中设置“performance_schema on”?

    我想转performance schemaON 在 mysql 中收集统计信息 我怎样才能实现这个目标 以下指南是特定于 Linux 的 但应该很容易适用于 Windows 您必须检查 mysql 服务器二进制文件是否已编译为支持它 mys
  • 关于mysql建表的几个问题

    CREATE TABLE favorite food person id SMALLINT UNSIGNED food VARCHAR 20 CONSTRAINT pk favorite food PRIMARY KEY person id
  • MySQL 可以存储多少行?

    所以我是一个初学者 刚刚自学了几个月的MySQL 我在工作中总是使用 phpMyAdmin 我过去的工作只涉及大约 100k 行的表 所以没有什么大问题 然而 我的客户现在想要在表中存储大约 800 万行 MySQL phpMyAdmin
  • 数据库设计 - “推”模型,或写时扇出

    背景信息 我正在尝试检索我关注的人的图像 按最新时间排序 它就像 Twitter 新闻源 显示您朋友的最新动态 Plans 目前我只需要考虑一项 那就是图像 将来我计划分析用户的行为并将他们可能喜欢的其他图像添加到他们的提要中等 http

随机推荐

  • ubuntu 安装Nginx 以及简单配置

    Nginx使用的地方特别多 很久以前就知道Nginx使用范围很广 却并不知道Nginx具体可以做什么 怎么使用 最近读了几篇关于Nginx的文章 对Nginx有了大致的了解 只看不练无法解决真正的问题 此处主要是Nginx的安装以及 Ngi
  • 常见异常汇总

    目录 登录异常 org apache ibatis binding BindingException Invalid bound statement not found com jt mapper UserMapper findUserBy
  • MyBatis<if>标签判断字符串相等写法

    mybatis 映射文件中 if标签判断字符串相等 两种方式 因为mybatis映射文件 是使用的ognl表达式 所以在判断字符串sex变量是否是字符串Y的时候 1
  • 【数据结构】栈的代码实现

    个人博客 www hellocode top 所有文章均在上方博客首发 其他平台同步更新 本文专栏 数据结构与算法 如有问题 欢迎指正 一起学习 文章参考整理自小码哥的 恋上数据结构和算法 课程 图片转载自课程PPT 如有侵权 请联系删除
  • shell命令

    1 系统信息 arch 显示机器的处理器架构 1 uname m 显示机器的处理器架构 2 uname r 显示正在使用的内核版本 dmidecode q 显示硬件系统部件 SMBIOS DMI hdparm i dev hda 罗列一个磁
  • JAVA代码添加License

    在开源代码的时候 我们经常会在代码顶部添加License信息 每个文件复制粘贴显然是比较麻烦的 我们可以在工具中进行配置 在创建新的类的时候自动为我们添加相关信息 以eclipse为例 进入Preference gt Java gt Cod
  • SQL笔记(一)

    1 初识MySQL JavaEE 企业级Java开发 Web 前端 页面 展示 数据 后台 连接点 连接数据库JDBC 链接前端 控制 控制视图跳转 和给前端传递数据 数据库 存数据 ITxt Excel word 只会写代码 学好数据库
  • sqli-labs (less-39)

    sqli labs less 39 输入id 1 http 127 0 0 1 sql1 Less 39 id 1 根据错误显示判断为数字型注入 这里我们就不讲使用union注入的方法 前面的关卡讲了很多union注入的方法 我们直接使用堆
  • word:表格中的文字居中

    如 操作 如下图 选择布局 点击2就可以把表格居中了 居中结果
  • 实时ETL解决方案总结

    问题导读1 实时ETL可以选择哪些架构部件 2 实时ETL有哪些实现方法 3 实时ETL有哪些难点 1 简述在架构实时ETL时的可以选择的架构部件 答 在建立数据仓库时 ETL通常都采用批处理的方式 一般来说是每天的夜间进行跑批 随着数据仓
  • 【MyBatis】一天之内快速掌握MyBatis的增删改查

    MyBatis 文章介绍 一共不到8000字 一天之内可以快速学会mybatis的增删改查 以及经常使用的操作 不讲废话 只将眼光聚焦到实操上 也可以搭配黑马的视频观看 看完之后 可以自己找个mybatis源码课继续学习 但是一般的业务代码
  • Eclipse的安装与基本操作(详解配图)

    不为失败找理由 只为成功找方法 所有的不甘 都是因为还心存梦想 在你放弃之前 好好拼一把 只怕心老 不怕路长 文章目录 一 简介 二 下载 三 使用Eclipse编写第一个Java程序 四 Eclipse的基本操作 1 背景 2 字体 五
  • Windows10系统MySQL服务器简单安装

    Windows10系统MySQL服务器简单安装 Mysql下载 安装 修改MySQL数据保存地址 修改服务 初始化数据库 修改root密码 新增用户 Mysql下载 MySql官网下载 下载地址 https dev mysql com do
  • 创建M32F103C8T6的工程文件之后编译为什么一堆错误?

    首先先看错误的提示是不是以下的显示 Rebuild started Project STM32F103C8T6 Using Compiler V6 15 folder F keil ARM ARMCLANG Bin Rebuild targ
  • 关于vxe-table全局引入的问题

    主要讲解一下vxe table全局引入然后使用碰到的问题 0 vxe table的官网地址 1 基本环境 1 vue版本为3 x以上 我的是3 2 13 2 依赖库 xe utils 注意 这篇博客的是vue3的脚手架搭建的 如果需要看低版
  • 毕业设计-机器视觉的疲劳驾驶检测系统-python-opencv

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • vue-admin-template,连接自己后台,二次开发必看

    第一步 找到 env development文件做如下修改 just a flag ENV development base api VUE APP BASE API api 第二步 找到 vue config js 配置跨域 关闭mock
  • Ubuntu 20版本将动态ip修改为静态ip时,ping 不通网络

    问题描述 在对Ubuntu 20版本将动态ip修改为静态ip时 ping www baidu com ping不通了 火狐浏览器没有了网路 下载不了东西 一直卡在这里不动 问题出在哪里还是配置ip dns 网关的问题 如果我们在当初安装ub
  • Spring:从零开始的Cloud生活(零)——Eureka 服务治理

    目录 Spring 从零开始的Cloud生活 零 Eureka 服务治理 1 Netfilx Eurake 2 搭建服务注册中心 3 服务提供者 4 高可用注册中心 5 服务发现和消费 之前对于SpringCloud都是一知半解的状态 现在
  • MySQL中的模糊查询

    1 表示任意0个或多个字符 可匹配任意类型和长度的字符 有些情况下若是中文 请使用两个百分号 表示 比如 SELECT FROM user WHERE u name LIKE 三 将会把u name为 张三 张猫三 三脚猫 唐三藏 等等有