准备一张表和一些数据
-- 创建一张表
CREATE TABLE `t_student` (
`id` DOUBLE,
`stuName` VARCHAR (60),
`age` DOUBLE,
`sex` VARCHAR (30),
`gradeName` VARCHAR (60)
);
-- 插入一条数据
INSERT INTO `t_student` (
`id`,
`stuName`,
`age`,
`sex`,
`gradeName`
)
VALUES
(
'1',
'张三',
'23',
'男',
'一年级'
);
-- 插入一条数据
INSERT INTO `t_student` (
`id`,
`stuName`,
`age`,
`sex`,
`gradeName`
)
VALUES
(
'2',
'张三丰',
'25',
'男',
'二年级'
);
-- 插入一条数据
INSERT INTO `t_student` (
`id`,
`stuName`,
`age`,
`sex`,
`gradeName`
)
VALUES
(
'3',
'李四',
'23',
'男',
'一年级'
);
1.单表查询
1.1查询所有字段
(1)SELECT 字段 1,字段 2,字段 3...FROM 表名;
(2)SELECT * FROM 表名;
-- 查询所有字段
SELECT
id,
stuName,
age,
sex,
gradeName
FROM
t_student;
结果:
-- 查询所有字段
SELECT
*
FROM
t_student;
结果:
1.2 查询指定字段
SELECT 字段 1,字段 2,字段 3...FROM 表名;
-- 查询指定字段
SELECT
stuName,
gradeName
FROM
t_student;
结果:
1.3 Where 条件查询
SELECT 字段 1,字段 2,字段 3...FROM 表名 WHERE 条件表达式;
-- Where 条件查询
SELECT
*
FROM
t_student
WHERE
id = 1;
结果:
-- Where 条件查询
SELECT
*
FROM
t_student
WHERE
age > 22;
结果:
1.4 带 IN 关键字查询
SELECT 字段 1,字段 2,字段 3...FROM 表名 WHERE 字段 [NOT] IN (元素 1,元素 2,元素 3);
第一种:
-- 带 IN 关键字查询
SELECT
*
FROM
t_student
WHERE
age IN (21, 23);
结果:
第二种:
-- 带 IN 关键字查询
SELECT
*
FROM
t_student
WHERE
age NOT IN (21, 23);
结果:
1.5带 BETWEEN AND 的范围查询
-- 带 BETWEEN AND 的范围查询
SELECT
*
FROM
t_student
WHERE
age BETWEEN 21
AND 24;
结果:
-- 带 BETWEEN AND 的范围查询
SELECT
*
FROM
t_student
WHERE
age NOT BETWEEN 21
AND 24;
1.6 带 LIKE 的模糊查询
SELECT 字段 1,字段 2,字段 3...FROM 表名 WHERE 字段 [NOT] LIKE ‘字符串’;
“%” 代表任意字符;
“_” 代表单个字符;
第一种:
-- 带 LIKE 的模糊查询
SELECT
*
FROM
t_student
WHERE
stuName LIKE '张三';
结果:
第二种:
-- 带 LIKE 的模糊查询
SELECT
*
FROM
t_student
WHERE
stuName LIKE '张三%';
结果:
第三种:
-- 带 LIKE 的模糊查询
SELECT
*
FROM
t_student
WHERE
stuName LIKE '张三__';
结果:
第四种:
-- 带 LIKE 的模糊查询
SELECT
*
FROM
t_student
WHERE
stuName LIKE '%张三%';
结果:
1.7 空值查询
SELECT 字段 1,字段 2,字段 3...FROM 表名 WHERE 字段 IS [NOT] NULL;
-- 空值查询
SELECT
*
FROM
t_student
WHERE
sex IS NULL;
结果: