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)
执行结果如下:
方式二:利用like语句查询:
执行语句如下:
SELECT * FROM test_user WHERE hobby like '%guanguan%';
执行结果如下: