MySQL 查詢某個(gè)字段包含一個(gè)字符串的SQL語句
一枉长、新建表test_user铭污,執(zhí)行下面的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');
表結(jié)構(gòu)如下:(注意兩個(gè)字符串之間的分割是英文逗號)
二瘫辩、查詢語句測試:
方式一:利用?FIND_IN_SET(參數(shù)一,參數(shù)二)
參數(shù)一:表示要查詢的字符串橄唬。
參數(shù)二:表示在表中的哪個(gè)字段中查詢,填字段名辙纬。
例如:FIND_IN_SET("feifei",hobby)
執(zhí)行結(jié)果如下:
方式二:利用like語句查詢:
執(zhí)行語句如下:
SELECT * FROM test_user WHERE hobby like '%guanguan%';
執(zhí)行結(jié)果如下: