我有一列数据存储在数据库中。 列名是db中的testdata,数据是这样的
1. Maruti Suzuki Alto vxi 2007
2. Hundyai i20 vxi 2011
3. Toyota fortuner vdi 2014
所以我必须用任何名字搜索这些数据。 因此,如果我搜索“Alto 2007”,那么1个结果将显示Maruti Suzuki Alto vxi 2007 如果我搜索Maruti 2007,它也应该显示这个结果。
请帮助我解决这个问题。提前谢谢。
答案 0 :(得分:3)
使用LIKE
运算符。
语法:
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
在您的情况下,您可以使用
SELECT *
FROM table
WHERE field LIKE "%keyword%"
您可以了解更多 here
答案 1 :(得分:2)
如果您使用的表格属于InnoDB
或MyISAM
,则可以使用Full Text Search。要使用,您需要首先使用ALTER TABLE或CREATE INDEX在相关列上创建全文索引。
您可以像下面一样使用它,
SELECT * FROM test_table
WHERE MATCH (testdata) AGAINST ('Alto 2007');
这将返回包含Alto 2007
列中任意字testdata
的所有结果。