.MySQL中的LIKE(模糊查询) 和 NOT LIKE
LIKE运算符的作用就是模糊匹配,NOT LIKE的使用方式与之相同,用于获取匹配不到的数据。
1.准备
CREATE DATABASE mahaiwuji;
USE mahaiwuji;
CREATE TABLE emp(
empno INT PRIMARY KEY,
ename VARCHAR(10),
sal INT
) ENGINE = INNODB DEFAULT CHARSET = utf8;
INSERT INTO emp VALUES (1,'AMITH',2800);
INSERT INTO emp VALUES (2,'BADFG',2800);
INSERT INTO emp VALUES (3,'FSDDA',2800);
INSERT INTO emp VALUES (4,'NDJSL',1300);
INSERT INTO emp VALUES (5,'GFJKK',3000);

2.LIKE
获取匹配到的数据
匹配模式符“%”可以匹配任意0到多个字符,“_”表示匹配任意1个字符
输出ename中含有A的记录
SELECT * FROM emp WHERE ename LIKE '%A%';

输出ename中首字母是A的记录
SELECT * FROM emp WHERE ename LIKE 'A%';

输出ename中尾字母是A的记录
SELECT * FROM emp WHERE ename LIKE '%A';

输出ename中第二个字母是A的记录
SELECT * FROM emp WHERE ename LIKE '_A%';

输出ename中第三个字母是D的记录
-- '__D%'里面,D前面有俩个_,因为连在一起,所以看起来有一个
-- 如果俩个_中间加一个空格,表示的就是另外一个意思
SELECT * FROM emp WHERE ename LIKE '__D%';
3.NOT LIKE
NOT LIKE的使用方式与之相同,用于获取匹配不到的数据
输出ename中不含有A的记录
SELECT * FROM emp WHERE ename NOT LIKE '%A%';
