在 MySQL 中搜索文本列中的字符串?


借助 LIKE 子句,您可以在 MySQL 的文本列中搜索字符串。语法如下所示 −

select *from yourTableName where yourColumnName like '%anyStringValue%';

为了使用上面的语法,让我们首先创建一个表 −

mysql> create table SearchTextDemo
   −> (
   −> BookName TEXT
   −> );
Query OK, 0 rows affected (0.55 sec)

在表中插入一些字符串。查询如下所示 −

mysql> insert into SearchTextDemo values('Let us C');
Query OK, 1 row affected (0.28 sec)

mysql> insert into SearchTextDemo values('C in Depth');
Query OK, 1 row affected (0.14 sec)

mysql> insert into SearchTextDemo values('C in Depth with Data Structure');
Query OK, 1 row affected (0.18 sec)

mysql> insert into SearchTextDemo values('Introduction to Java');
Query OK, 1 row affected (0.17 sec)

mysql> insert into SearchTextDemo values('Java in Depth');
Query OK, 1 row affected (0.13 sec)

使用 select 语句显示所有记录。查询如下所示 −

mysql> select *from SearchTextDemo;

以下是输出 −

+--------------------------------+
| BookName                       |
+--------------------------------+
| Let us C                       |
| C in Depth                     |
| C in Depth with Data Structure |
| Introduction to Java           |
| Java in Depth                  |
+--------------------------------+
5 rows in set (0.00 sec)

以下是对文本列中搜索特定字符串的查询 −

mysql> select *from SearchTextDemo where BookName like '%in Depth%';

以下是输出 −

+--------------------------------+
| BookName                       |
+--------------------------------+
| C in Depth                     |
| C in Depth with Data Structure |
| Java in Depth                  |
+--------------------------------+
3 rows in set (0.00 sec)

查看上面的示例输出,字符串“in Depth”已从列名“BookName”中搜索到,其数据类型为 TEXT。

更新时间: 2019 年 7 月 30 日

798 次浏览

开启你的职业

完成课程认证

开始
广告