MySQL 查询某个字段包含一个字符串的SQL语句

MySQL 查询某个字段包含一个字符串的SQL语句

一、新建表test_user,执行下面的sql 语句

DROP TABLE IF EXISTS `test_user`;
CREATE TABLE `test_user`  (

  `id` int(11) NOT NULL,

  `name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,

  `hobby` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,

  PRIMARY KEY (`id`) USING BTREE

) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `test_user` VALUES (1, 'beibei', 'feifei,guanguan,xiangxiang');

INSERT INTO `test_user`(`id`, `name`, `hobby`) VALUES (2, 'feifei', 'call');

表结构如下:(注意两个字符串之间的分割是英文逗号)


二、查询语句测试:

方式一:利用 FIND_IN_SET(参数一,参数二)

参数一:表示要查询的字符串。

参数二:表示在表中的哪个字段中查询,填字段名。

例如:FIND_IN_SET("feifei",hobby)

执行结果如下:


MySQL 查询某个字段包含一个字符串的SQL语句_第1张图片

方式二:利用like语句查询:

执行语句如下:

SELECT * FROM test_user WHERE hobby like '%guanguan%';

执行结果如下:

MySQL 查询某个字段包含一个字符串的SQL语句_第2张图片

你可能感兴趣的:(MySQL 查询某个字段包含一个字符串的SQL语句)