MySQL查询语句之like
创建一张user表,并插入数据,脚本如下:
/*
Navicat Premium Data Transfer
Source Server : guli
Source Server Type : MySQL
Source Server Version : 50626
Source Host : localhost:3306
Source Schema : yyx
Target Server Type : MySQL
Target Server Version : 50626
File Encoding : 65001
Date: 16/03/2025 17:49:31
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`age` int(11) NULL DEFAULT NULL,
`gender` varchar(2) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;
-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '张三', 20, '男', '小学');
INSERT INTO `user` VALUES (2, '李四', 21, '男', '初中');
INSERT INTO `user` VALUES (3, '王五', 18, '男', '初中');
INSERT INTO `user` VALUES (4, '刘晨', 22, '女', '大学');
INSERT INTO `user` VALUES (5, '喻曦', 18, '男', '大学');
INSERT INTO `user` VALUES (6, '廖翔', 20, '女', '高中');
INSERT INTO `user` VALUES (7, '赵六', 23, '女', '中职');
INSERT INTO `user` VALUES (8, 'shs', 4, '女', '幼儿');
INSERT INTO `user` VALUES (9, '李晨', 45, '男', '大学');
INSERT INTO `user` VALUES (10, '李靖', 60, '男', '未知');
INSERT INTO `user` VALUES (11, '张李书', 22, '女', '大学');
INSERT INTO `user` VALUES (12, '孜书达李', 15, '女', '初中');
INSERT INTO `user` VALUES (13, '王李部尚书', 38, '男', '未知');
SET FOREIGN_KEY_CHECKS = 1;
执行完脚本后打开user表:
如下图:
关键字在%号前面
查询语句:
-- 只查询以“李”开始的
SELECT * FROM `user` WHERE `name` LIKE "李%";
查询结果:
关键字在%号后面
查询语句:
-- 只查询以“李”结束的
SELECT * FROM `user` WHERE `name` LIKE "%李";
查询结果:
关键字在%号之间
查询语句:
-- 查询包含“李”的
SELECT * FROM `user` WHERE `name` LIKE "%李%";
查询结果: