您可以使用以下 SQL 查询语句来查出 product
表中所有 detail
字段包含 oss.kxlist.com
的完整记录:
SELECT *
FROM `product`
WHERE INSTR(`detail`, 'oss.kxlist.com') > 0;
- 下面是detail字段包含的完整内容
<p><img style="max-width:100%;" src="//oss.kxlist.com//4028808970bd1e7c0172115f43dd0194/commodity/20201231/20201231104204_f8a3d2.jpg"/><img style="max-width:100%;" src="//oss.kxlist.com//4028808970bd1e7c0172115f43dd0194/commodity/20201231/20201231104204_d7ee5c.jpg"/><img style="max-width:100%;" src="//oss.kxlist.com//4028808970bd1e7c0172115f43dd0194/commodity/20201231/20201231104202_108cd0.jpg"/><img style="max-width:100%;" src="//oss.kxlist.com//4028808970bd1e7c0172115f43dd0194/commodity/20201231/20201231104204_5f6598.jpg"/><br/></p><p><br/></p>
语句解释:
SELECT *
: 这部分表示我们要查询并返回product
表中所有列的数据。*
是通配符,代表表中的所有列。FROM
product``: 这部分指定我们要查询的表是product
表。 请再次确认表名是否正确,并根据实际情况替换。WHERE INSTR(
detail, 'oss.kxlist.com') > 0
:WHERE
子句用于筛选记录,与之前统计数量的查询语句中的WHERE
子句完全相同。INSTR(
detail, 'oss.kxlist.com')
: 在detail
字段中查找'oss.kxlist.com'
子字符串,返回子字符串的起始位置,找不到则返回 0。> 0
: 只选择INSTR()
返回值大于 0 的记录,即detail
字段中包含'oss.kxlist.com'
的记录。
如何执行查询:
和之前的统计查询一样,您可以使用任何 MySQL 客户端工具连接到您的数据库,并将上述 SQL 语句粘贴到查询窗口中执行。
查询结果:
执行这个查询后,您将得到一个结果集,其中每一行都是 product
表中 detail
字段包含 oss.kxlist.com
的一条完整记录。 结果集会包含 product
表的所有列 (例如 id
, name
, detail
, created_date
, ...
等)。
可选方法 (使用 LIKE
运算符):
同样,您也可以使用 LIKE
运算符来实现相同的查询,虽然通常 INSTR()
函数性能更好,但在简单场景下 LIKE
也很方便:
SELECT *
FROM `product`
WHERE `detail` LIKE '%oss.kxlist.com%';
语句解释:
WHERE
detailLIKE '%oss.kxlist.com%'
: 使用LIKE
运算符进行模式匹配,'%oss.kxlist.com%'
模式表示匹配detail
字段中任何位置包含oss.kxlist.com
的字符串。
选择 INSTR()
或 LIKE
都可以,根据您的偏好和实际情况选择即可。 执行上述任一查询语句,您都能够获取到所有符合 detail
字段包含 oss.kxlist.com
条件的产品记录,方便您进行进一步的检查或数据更新操作。