首页
学习
活动
专区
圈层
工具
发布

Mysql常用sql语句(9)- like 模糊查询

测试必备的Mysql常用sql语句系列 https://www.cnblogs.com/poloyy/category/1683347.html 前言 like应该是最常用的查询条件了 必须滴掌握!...like的语法格式 LIKE '字符串' NOT LIKE '字符串' NOT:取反,不满足指定字符串时匹配 字符串:可以是精确的字符串,也可以是包含通配符的字符串 LIKE支持 和 _ 两个通配符...知识点 匹配的字符串必须加单引号或双引号 like "%test%" _ 通配符查询的栗子 只能代表单个字符,字符的长度不能等于0,即字符长度必须等于1;相对于 % 来说, _ 肯定没这么常用 _...like 区分大小写的栗子 默认情况下,like匹配的字符串是不区分大小写的; 和 like "TEST1" 匹配的结果是一样的 like "test1" 如果需要区分大小写,需要加入 关键字 binary...注意头部、尾部多余的空格: 是不会匹配到“test1”的 " test% " 注意NULL:通配符是不能匹配到字段为NULL的记录的 不要过度使用通配符:因为Mysql对通配符的处理速度会比其他操作花费更长的时间

5.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何在 RunAs 启动的软件传入带空格的路径带空格参数

    使用 RunAs 可以让程序使用普通用户或管理员权限运行,本文告诉大家如何 传入带空格的路径 用 runas 可以以指定的权限启动一个进程(非管理员、管理员) 在传入参数如下 runas /trustlevel...\lindexi.exe 如果我的文件是放在带空格文件夹 E:\带空格 文件夹\lindexi.exe 可以如何运行?...请加上引号 runas /trustlevel:0x20000 "E:\带空格 文件夹\lindexi.exe" 如果我需要传入参数,可以如何写 runas /trustlevel:0x20000 "E...:\带空格 文件夹\lindexi.exe 参数" 如果我的参数有空格,可以如何写 runas /trustlevel:0x20000 "E:\带空格 文件夹\lindexi.exe \"空格 内容\"...第二个参数 " 也就是在 runas 传入运行的文件,存在空格只需要将路径放在引号内。

    3.7K10

    由一条like语句引发的SQL注入新玩法

    注:本文首发于先知社区,https://xz.aliyun.com/t/8116 START 0x01前言 群里一位老哥发了一个挺有意思的SQL语句,使用like但是没有使用模糊查询,却匹配出了所有字段...小菜比感觉很新鲜,所以简单进行了一番学习,在学习过程想起一个检测SQL注入的payload: and 1 like 1 但是当时并没有跟进学习,所以应该也不算新技巧了 0x02跟进探索学习 首先从字段值的不同的类型来测试...,like优先级高于=, 下面两条语句等价 select * from admin where name=1 like 2; select * from admin where name=(1 like...: 当列名存在时,可通过赋值排除某一项 0x04进一步发现 同样还是like语句返回True或False,也就是1和0的问题,在列值为字符串类型时,这里能够实现or 1=1效果(也就是只能应用于列值类型为字符串的时候...) 算是一种新型万能密码吧,可看后面的玩法应用 0x05玩法应用 1、检测SQL注入 此处id的字段值为int型(如前面验证的那样,此用法与注入类型无关,而与字段值类型相关) id=1%27%20like

    7.5K10

    SQL 使用like '%ABC' 和 like '%ABC%'的优

    一般情况下,sql中使用col_name like 'ABC%‘的情况才能使用到col_name字段上的索引。那么如果是col_name like '%ABC%'的情况,能否使用索引呢?...答案是:可以使用索引,但是需要改写SQL并创建reverse函数索引。 具体如何实现?听专家为你揭晓。 一、col_name like '%ABC'时的优化方法 ?...改写后SQL走了索引。 二、col_name like '%ABC%'时的优化方法 ? 一般认为这种情况是不能使用索引的,但还是有一些优化方法可以使用。...reverse('%TAB_COL'); 情况3、这种情况需要like的字段上存在普通索引,主要在SQL的写法上做改进。...原来的SQL是这样写的: Select object_id,object_type,object_name from t1 where object_name like '%ABC%‘; 改写后的SQL

    2.7K80

    如何在 CMD 启动的软件传入带空格的路径

    在使用 CMD 命令的时候,会将传入的命令按照空格分为多个不同的命令,但是路径经常是带有空格的。特别是想将参数传入到通过命令行启动的软件里面,可以如何做?...C:\lindexi 是逗比\Foo.exe 有空格,需要通过引号包含 如果我需要给 Foo.exe 传入参数,参数内容是 foo 那么需要通过 /K 或 /C 的命令将参数传入,在 /K 或 /C...Foo.exe 那么下面代码执行的时候,因为传入 CMD 命令的路径带来空格,需要通过引号包含 但是在 CMD 里面传入多个带引号的路径会被作为多个传入 CMD 的启动参数,刚好参数路径不是可以执行的文件...C:\user\lindexi> cmd /k "C:\lindexi 是逗比\Foo.exe" "C:\林德熙 是逗比" 文件名、目录名或卷标语法不正确 在传入的参数里面存在空格,需要使用最外层的一个引号包含...cmd /k " xx.exe xx参数 " 通过这个方法可以解决 cmd 不认路径带空格,和不认使用引号包含的路径 cmd /k " "C:\lindexi 是逗比\Foo.exe" "C:\林德熙

    5.4K10

    【Python】判断语句 ② ( if else 语句 | if else 语句语法 | Python 中的空格缩进 | 代码示例 )

    一、if else 语句语法 if else 语句语法 : if 条件判定: 满足条件要执行的代码1 满足条件要执行的代码2 满足条件要执行的代码3 else: 不满足条件要执行的代码1 不满足条件要执行的代码...: if 条件判定 和 else 后面 的冒号很重要 , 一定要写上 ; 4 空格缩进 : 条件判定满足 执行的代码 , 和 条件判定不满足要执行的代码 , 之前有一个 四个空格 缩进 ; else...与 if 是同级的 , 前面不加缩进 ; else 的代码块也需要添加 4 空格缩进 ; 二、Python 中的空格缩进 Python 语言中 , 通过空格缩进 , 判断代码的归属 , 相当于 其它语言的...大括号 ; Python 中 , 空格缩进 是 Python 语法中很重要的一部分 , 4 空格缩进决定了 Python 代码逻辑结构 ; 多行代码同时具有 4 空格的缩进 , 那么这些代码相当于写在同一个大括号中...会自动将 Tab 键转为 4 空格 ; 三、代码示例 代码示例 : """ if else 语句代码示例 """ # 通过 input 从命名行获取的都是字符串类型 input_string = input

    2K20

    SQL语句的优化

    SQL语句的优化 如何索取有性能问题SQL的渠道 通过用户反馈获取存在性能问题的SQL 通过慢查日志获取存在性能问题的SQL 实时获取存在性能问题的SQL 慢查询日志介绍 slow_quey_log=on...表示只有在查询语句中使用了SQL_CACHE和SQL_NO_CACHE来控制是否需要进行缓存 query_cache_size 设置查询缓存的内存的大小 query_cache_limit 设置查询缓存可用的存储的最大值...优化SQL的查询计划 语法解析阶段是通过关键字对MySQL语句进行解析,并生成一颗对应的解析树 MySQL解析器将使用MySQL语法规则验证和解析查询,包括检查语法是否使用了正确的关键走;关键字的顺序是否正确等等...set enabled='yes' where name like 'events%'; SELECT a.thread_id, sql_text, c.event_name, (c.timer_end...FROM payment ) #优化后的SQL语句 SELECT a.customer_id, a, first_name, a.last_name, a.email FROM customer a

    4K00

    SQL 的查询语句

    在这里,有一点要说明下,SQL 语句不区分大小写,意思是我们可以使用大写或者小写,都是可以的。像刚才的语句我们可以使用,use order_manager。...对于单条 SQL 语句来说,在结尾处加分号或者不加分号都是可以的。但是多条 SQL 语句必须以分号分隔。虽然单条语句不强制加分号,但是加上也没有什么不好,所以我们建议单条 SQL 语句也加上分号。...还有点要注意,刚才说的标点符号要是英文的标点符号,如果使用中文的标点符号会报错。还有就是,在处理 SQL 语句时,所有的空格都会被忽略,我们可以把一条 SQL 语句写在一行上,也可以分开写在多行上。...但是比较好的习惯是,将 SQL 语句写在多行上,这样使得代码更容易阅读和调试。 刚才我们从数据库表中查询的是单个列,我们还可以从数据库表中查询多个列。...注释 随着 SQL 语句越来越复杂,我们需要添加一些注释,便于自己以及别人参考。

    4.9K30

    常见的 SQL 语句

    常见的SQL语句嘿,朋友!一起把SQL“肢解”了,再装回去,行不?很多刚接触数据库的朋友,看到SELECT、WHERE、JOIN这些词,就像看到了天书。别急,咱们换个思路。...模糊匹配(LIKE):当你记不全名字时,这就是神器。'M%':以M开头的所有内容。'%M%':包含M的所有内容。'%M_':倒数第二个字符是M的内容。...(_代表一个任意字符)>小互动:假设你想找所有名字里带“o”的员工,SQL语句该怎么写?...,Oracle用ROWNUMLIKE+通配符)我们之前聊了LIKE,现在来系统看看它的好搭档——通配符。%:代表零个或多个任意字符。'https%':以“https”开头。'...重要规则:每个SELECT语句必须拥有相同数量的列,且对应列的数据类型必须兼容。UNION:自动去重,只保留不同的值。UNIONALL:保留所有值,包括重复的。

    35810

    数据库SQL语句大全——最常用的SQL语句

    = 不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 BETWEEN 在指定的两个值之间 数据过滤: 组合where语句 and操作符(同时符合where后面的条件) SELECT pname...表中商品名称含有“女”的商品,不管开头结尾是什么内容 SELECT pname FROM product WHERE pname LIKE '%女%' 下划线_通配符(用途和%一样,不过_只匹配单个字符...:] 任意可打印字符 [:punct:] 既不在[:alnum:]又不在[:cntrl:]中的任意字符 [:SPACE:] 包括空格在内的任意空白字符(同[\\f\\n\\r\\t\\v]) [:UPPER...LENGTH() 返回串的长度 LOCATE() 找出串的一个子串 LOWER() 将串转换为小写 LTRIM() 去掉串左边的空格 RIGHT() 返回串右边的字符 RTRIM() 去掉串右边的空格...SELECT语句的执行顺序 SELECT 要返回的列或表达式 是 FROM 从中检索数据的表 仅在从表选择数据时使用 WHERE 行级过滤 否 GROUP BY 分组说明 仅在按组计算聚集时使用 HAVING

    4.3K30

    SQL中用到LIKE模糊检索的几种优化场景

    SQL开发中经常会碰到使用LIKE模糊检索的场景,'%'的位置,可能影响索引的正常使用,看到刘老师公众号的一篇文章,介绍了相关场景的改造策略,非常受用,推荐阅读。...列的反向索引, create index idx_t1_02 on t1(reverse(object_name)); 查询语句中LIKE的右值同样使用reverse函数, select object_name...(3) ABC在字符串中位置不固定,可以通过改写SQL进行优化。 第一种情况,ABC始终从字符串开始的某个固定位置出现。 可以通过substr函数截取字符串的功能,创建函数索引。...substr(object_name, 1, length(object_name)-4)) like reverse ('%BISAL'); 第三种情况,ABC在字符串中位置不固定,可以通过改写SQL...但是这种IN改写,如果子查询返回的记录数较少,执行效率就可能提高了N倍,但如果较多,改写的效率,可能和之前相差不大了, 虽然以上的'%'有各种改造的方案,但至少都得改写一些SQL,所以还是建议,从需求层面

    2.4K10

    SQL 语句的执行顺序

    代表与该客服人员通话的客户的 id,也是说,每有一条记录,就代表一个客服与一位客户进行了通话,相同的记录,例如第一行和第七行,代表着 1 号客服与 001 号客户在不同的时间进行了两次通话,问:如下 SQL...for the right syntax to use near 'WHERE count > 1' at line 4 原因: WHERE 子句会比 SELECT 子句先执行,上面的 SQL 中 ,...SQL 语句的书写顺序如下: SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY SQL 语句的执行顺序如下: FROM -> WHERE...-> GROUP BY -> HAVING -> SELECT -> ORDER BY 其中 SELECT 和 FROM 是必须的,其他关键词是可选的,这六个关键词的执行顺序 与SQL语句的书写顺序并不是一样的...,或列的计算结果 ORDER BY:按照什么样的顺序来查看返回的数据 所以本文开头所说的查询有两种实现的 SQL: # 使用 HAVING 过滤分组中的数据 SELECT id, COUNT(client

    4.6K41

    sql语句的多种写法

    sql formatter 1 2 精妙SQL语句 Bill Gates 眼中的聪明人 不可不看:人生十二个经典的感悟 精妙SQL语句介绍 Oracle Union All Query...根据指定ID,返回包含该ID的所有父级记录 一个DETAIL 表, item ,empid, money 1       001    100 2       001     150 ...   ...一个 TOTAL 表, empid ,  money 目的是想把DETAIL 表的每个empid 的数据汇总插入到TOTAL 表中, 写的语句是这样地, 写法1:   update total a set...注意/*和+之间不能有空格 如用hint指定使用某个索引   select /*+ index(cbotab) */ col1 from cbotab;   select /*+ index(cbotab...且如果在查询中使用了表的别名,在hint也要用表的别名来代替表名; INDEX_NAME可以不必写,Oracle会根据统计值选一个索引;    如果索引名或表名写错了,那这个hint就会被忽略;

    1.2K20
    领券