草庐IT

Perfmon-like

全部标签

mysql - 如何使用 LIKE 在 MySQL 中以没有特定顺序的所有可能选项搜索 5 个不同的字段

我有一个包含5个字段的数据库,它们是:姓名、地址、身份证、城镇、街道然后我有一个接受一个参数的PHP查询。在此参数中,您可以输入任何您喜欢的字段,结果必须仍然准确。例如,如果我在搜索框中输入johndoeskatestreet,您将得到所有名字为JohnDoe并且他们住在名为SkateStreet的街道的记录。此外,请注意名称存储在一个字段中,顺序为SURNAMENAME(我不能更改它,因为这是必须的,所以请不要告诉我最好更改它...我知道:)).显然,我希望名称可以按任何顺序输入,无论是NAMESURNAME还是SURNAMENAME。我的想法是先附上前两个输入的参数作为名称。我会告

mysql - 如何在 MySQL 中使用 select result with like

我需要一些在WHERE的LIKE语句中使用选择输出的MySQL代码。我的意思是这样的:SELECTidFROM(SELECTid,parent_idFROMunitsWHEREptitlelike'%(SELECTptitleFROMunitsWHEREid='".$id."')%') 最佳答案 你需要使用concatSELECTidFROM(SELECTid,parent_idFROMunitsWHEREptitlelikeconcat('%',(SELECTptitleFROMunitsWHEREid='".$id."'),'%

mysql - 'LIKE' 或 'NOT LIKE' 这就是问题所在

我想知道与NOTLIKE相比,使用LIKE是否有任何特别的性能优势,反之亦然。例如:假设我有1000行(是的,不是很多,但毕竟这只是一个示例),并且只有50行在查询数据库使用SELECTidFROMtableWHEREhelloLIKE'%world%'或SELECTidFROMtableWHEREhelloNOTLIKE'%world%'LIKE返回50而使用NOTLIKE返回950我的问题不是你应该在任何特定场景中使用哪个,而是你使用的是否有任何性能成本,因为两者都必须“搜索”整个表:) 最佳答案 没有性能差异。NOT只是反转它

php - MYSQL - 如何使用 like 将字段与逗号匹配?

我正在尝试从我的新闻提要中获取一条记录。我传递它的年、月和新闻文章标题。我根据year=year和month=month进行匹配,然后我使用like作为标题:LIKE'%title%'这在任何情况下都有效,除非标题包含逗号。为什么不这样:LIKE'%thankyoudonorsvolunteersandguests%'匹配字段中的内容:感谢捐助者、志愿者和客人但是如果我输入逗号:LIKE'%thankyoudonors,volunteersandguests%'它匹配它。如果我不知道逗号的位置,如何让它匹配逗号? 最佳答案 我认为您

mysql - 为类似 "Likes"的东西设计一个高度非规范化的表

我目前正在构建一个具有多种用户类型的Web应用程序,用户可以在其中参与多种事件类型。我需要设计一个表格,将用户和事件之间的“喜欢”(赞成票、+1,等等)相关联。无论如何,我都不是MySQL方面的专家,所以我想避免在我的数据库设计中走上错误的道路,尤其是像这样的事情。我想的是像下面这样的表格:CREATETABLElikes(from_idint(11)NOTNULL,from_typeVARCHAR(100)NOTNULL,to_idint(11)NULL,to_typeVARCHAR(100)NULL,postedTIMESTAMPDEFAULTCURRENT_TIMESTAMP,P

mysql - 在 mysql 中索引文本是否会改进使用 LIKE '%search%' 搜索文本

我在mysqlversion:5.1.61-community-log中使用InnoDB引擎。要搜索的文本长度小于100个字符。使用LIKE'%searchstring%'的查询性能是否会随着索引文本而提高?编辑:我将此查询用于jquery自动建议组件。我正在使用第3方虚拟主机服务。所以升级对我来说不是一个选择 最佳答案 不,添加索引对您的LIKE'%foo%'查询没有帮助(很多*)。LIKE条件只有在您有常量前缀时才能有效地使用索引,例如LIKE'foo%'你应该考虑一个fulltextsearch反而。如果您使用的是MySQL5

MySQL 选择带有 '=' 但不带有 'LIKE' 的 UTF-8 字符串

我有一张表格,上面有一些来自中世纪书籍的单词,还有一些现代拉丁字母表中不再存在的重音字母。我可以很容易地用UTF-8组合字符来表示这些字母。例如,要创建带波浪号的“J”,我使用UTF-8序列\u004A+\u0303并且J变成带波浪号的重音符号。表格使用utf8编码,字段排序规则为utf8_unicode_ci。我的问题如下:如果我尝试选择整个字符串,我会收到正确的答案。如果我尝试使用“喜欢”来选择,我会收到错误的答案。例如:mysql>selectword,hex(word)fromoldwordwhereword='hua';+--------+--------------+|wo

PHP PDO "select like"查询

这个问题在这里已经有了答案:CanPHPPDOStatementsacceptthetableorcolumnnameasparameter?(8个答案)关闭6年前。我正在尝试将两个参数绑定(bind)到准备好的PDO选择语句。这是我目前所拥有的:$query="select*frombookswhere?LIKE?";$result=$db->prepare($query);$result->bindValue(1,$searchTerm,PDO::PARAM_STR);$result->bindValue(2,"%$searchValue%",PDO::PARAM_STR);$re

mysql - 如何忽略 SQL LIKE 中的符号

我有一个带有SQL查询的搜索模块,如下所示:SELECTFROMtrilersWHEREtitle'%something%'当我搜索诸如“spiderman”之类的关键字时,它返回未找到,但是当我搜索“spider-man”时,它返回我的内容(MySQL中的原始行是“spider-man”)。我如何忽略所有符号,如-、#、!、:并返回内容为“spiderman”和“spider-man”关键字同时使用? 最佳答案 您可以做的是在搜索发生之前替换您不关心的字符。第一次迭代看起来像这样:SELECT*FROMtrilersWHERERE