我对上面的题目感到困惑。
SELECT * FROM `parties` WHERE `party_name` LIKE '%DMK%' ORDER BY `id` ASC
这里我从db得到4行,所有行的party\u名称都包含“dmk”。
SELECT * FROM `parties` WHERE `party_name` LIKE 'DMK' ORDER BY `id` ASC
在这里,我得到了确切的一行,其中包含党的名称为'dmk'
第一个查询是搜索字符串部分。第二个查询是搜索精确的字符串
它是??
或者两者都一样?
抱歉问你这个问题,塔克斯
3条答案
按热度按时间zd287kbt1#
如果你使用
LIKE
如果没有%通配符,则equals的行为相同(=
).所以如果你写:
与以下内容相同:
如果你写:
你会发现所有拥有dmk的党的名字
如果你写:
你会发现所有的派对名称都以dmk结尾
如果你写:
你会发现所有的派对名称都以dmk开头
sulc1iza2#
表示包含dmk eg的所有字符串('dmk1,'admk',admkb')
平均所有字符串等于dmk as,等于
h43kikqp3#
将只匹配值为“dmk”的列。它与party\u name='dmk'基本相同
这将匹配“dmk”存在的字符串。mk,mkefg,dmk
这将匹配上一个示例中存在“dmk”的字符串:它将匹配dmk,但不匹配dmkefg
这将匹配开头示例中存在“dmk”的字符串:它不会匹配mk,但不会匹配mkefg