草庐IT

找单词

全部标签

sql - 用一个字符长的单词搜索(MySQL)

我的MySQL数据库中有一个Books表,其中包含列Title(varchar(255))和Edition(varchar(20))。这些示例值是“微观经济学导论”和“4”。我想让用户根据书名和版本搜索图书。因此,例如,他们可以输入“微观经济学4”,它会得到正确的结果。我的问题是我应该如何在数据库端进行设置。有人告诉我,全文搜索通常是执行此类操作的好方法。但是,由于版本有时只是单个字符(“4”),因此必须设置全文搜索以查看单个字符(ft_min_word_len=1)。我听说,这是非常低效的。那么,我应该如何设置该数据库的搜索?更新:我知道这里可以使用CONCAT/LIKE。我的问题是

MySQL ORDER BY 列 ASC 包含两个未正确按字母顺序排列的单词

我正在尝试对下表进行排序:表:人物+---+----------------------+|id|Ethnicity|+---+----------------------+|1|'Hispanic'||2|'AsianAmerican'||3|'White'||4|'AfricanAmerican'||5|'AmericanIndian'||6|'Other'|+---+----------------------+SQL查询SELECTDISTINCTEthnicityFROMPeopleORDERBYEthnicityASC结果这会产生:+--------------------

mysql - 如何使用单词边界在 MYSQL REGEXP 查询中查找带有连字符的单词?

我有一个MYSQL查询来尝试查找带有连字符的单词。我正在使用MYSQL字边界。SELECTCOUNT(id)AScountFROMtableWHERE(nameREGEXP'^[[:]]/')这似乎行得通,尽管以下行不通(请参阅“连字符”一词后面的-):SELECTCOUNT(id)AScountFROMtableWHERE(wordsREGEXP'^[[:]]/')我试图用\-转义-'s,但这似乎并没有改变结果。我还尝试将-放在方括号中,例如[-],但这似乎并没有改变结果。在理解连字符将在“词”内并可能在“词”末尾的情况下,编写此查询的正确方法是什么? 最

mysql - 何时使用单词 "table"的好记法?

我的MySQL类(class)(现在正在过渡到SQLServer)已经完成了创建、删除、更新和查询表的所有基础知识。似乎某些命令在其中需要“表”一词(例如ALTERTABLEniftytable),而其他命令如果您这样做则不起作用(您不能说INSERTINTOTABLEniftytable,对吧?)。判断哪个是哪个的原则是什么?我假设它是命令是否可以应用于表以外的其他东西,但作为初学者我不知道什么可以或不能影响非表,并且不想进入那个。那么有没有我可以使用的简单助记符? 最佳答案 TABLE的使用通常与DDL(表的创建或更改)或表内容

php - 删除特定单词后的所有文本

我在数据库中有数据,行如下:Ticket#3532UpdatedTicket#43252OpenedTicket#5462OpenedTicket#353Updated在每一行上,在“已更新”或“已打开”一词之后都有文本我想删除每一行的这段文字,这样它的显示就和上面的一模一样。我试过使用:strstr($result["notes"],'Updated',true)对于Updated行,但这会返回Ticket#34564而不是更新这个词我如何在PHP或直接在SQL中执行此操作? 最佳答案 您可以使用LOCATE()函数直接在SQL中

php - 在 MySQL 中搜索多个单词

我正在使用HTML表单允许用户在数据库表中查找条目:我的数据库中的表有一个名为keywords的列,其中包含多个值,因此我使用SELECT查询来选择所有包含与用户在表单中键入的内容相匹配的关键字的行。所以controller.php包含这个查询:$word=$_GET['word'];$query=SELECT*FROMtableWHEREtable.keywordsLIKE'%{$word}%这很好用,除非用户在搜索框中键入了多个单词。我该如何改变这一点,以便当用户在搜索框中键入多个词时,它会返回在其关键字列中包含用户词的所有行。即,用户搜索“applesoranges”,查询返回所

php - SELECT QUERY LIKE 仅包含字符串中的特定单词

我有一张如下表,表名是js_skills_achievementsidskill1skill2skill3skill41javaphphtmlandroid2phpjavajqueryhtml3sqlphphtmljquery当管理员搜索关键字是“nersupalli中的java开发人员”时我的查询在下面SELECT*FROM`js_skills_achievements`WHERE`skill1`LIKE'%javadeveloperinnersupalli%'OR`skill2`LIKE'%javadeveloperinnersupalli%'OR`skill3`LIKE'%jav

sql - MySQL,从一个字符串中查找另一个字符串中的单词

我不知道这是否可以在一个SQL语句中完成。我整天都在阅读,似乎找不到解决方案,坦率地说,我的经验只是SQL方面的冰山一角。我有两个不同的表,比方说:商品和客户。两个表都有一个TEXT类型的字段(Notes),其中包含以空格和CR/LF对分隔的单词。我需要选择customers.note中的任何单词与items.note中的任何单词匹配的所有行(items.*)例子:TableitemsIDNOTES------------1bagcandlefork2maxkielland3plateknifefork4wheelbrownbagTablecustomersIDNOTES-------

mysql - 我怎样才能得到特定单词在mysql中出现的次数

请问我怎样才能得到一个特定单词在表格中出现的次数?我有一个名为result的表和一个名为president的字段。Index-president1-James2-John3-John4-John5-James6-John我尝试使用以下代码来获取John在我的表中出现的次数。SELECTCOUNT(`president`)FROM`result`WHERE`president`="John"但是,它写语法错误。N.B:我只需要约翰出现的次数,我预计是四(4)次。 最佳答案 您不需要在列上使用COUNT。在你的情况下,你想得到总裁是“约

mysql - 如果字符串超过 10 个单词,则添加点

我想通过获取前10个单词来返回我的文本预览。concat(SUBSTRING_INDEX(q.value,'',10),'...')ASpreview当字符串很长时,这很有效。但当字符串较短时不应添加(因为没有更多内容)。是否可以使用100%mysql执行此操作? 最佳答案 你可以使用case:select(casewhensubstring_index(q.value,'',10)=q.valuethenq.valueelseconcat(substring_index(q.value,'',10),'...')end)