select * from 表名;
1. 语法:
select 字段列表 from 表名列表 where 条件列表 group by 分组字段 having 分组之后的条件 order by 排序 limit 分页限定
2.基础查询
1.多个字段的抽象
select 字段名1,字段名2... from 表名; 注意: 如果查询所有字段,则可以使用*来替代字段列表。
2.去除重复
distinct
3.计算列
一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算) ifnull(表达式1,表达式2):null参与的运算,计算结果都为null 表达式1:哪个字段需要判断是否为null 如果该字段为null后的替换值。
4.起别名
as:as也可以省略
-- 查询 姓名 和 年龄 SELECT NAME, -- 姓名 age -- 年龄 FROM student; -- 学生表 SELECT * FROM student; -- 去除重复的结果集 SELECT DISTINCT address FROM student; SELECT DISTINCT NAME,address FROM student; -- 计算 math 和 english的和 SELECT NAME,math,english,math+english FROM student; -- 如果有null 参与的运算,计算结果都为null SELECT NAME,math,english,math + IFNULL(english,0) FROM student; -- 起别名 SELECT NAME,math,english,math + IFNULL(english,0) AS 总分 FROM student;
1.where字句后跟条件
2.运算符
>、<、<=、>=、=、<>
BETWEEN...AND
LIKE
IS NULL
and 或 &&
or 或 ||
not 或 !
-- 查询年龄大于20岁 SELECT * FROM student WHERE age >=20;
-- 查询年龄等于20岁 SELECT * FROM student WHERE age =20; -- 查询年龄不等于20岁 SELECT * FROM student WHERE age !=20; -- 查询年龄大于等于20 小于等于30 SELECT * FROM student WHERE age>=20 && age <=30; SELECT * FROM student WHERE age>=20 AND age <=30; SELECT * FROM student WHERE age BETWEEN 20 AND 30; -- 查询年龄22岁,18岁,25岁的信息 SELECT * FROM student WHERE age = 22 OR age = 18 OR age = 25; SELECT * FROM student WHERE age IN (22,18,25); -- 查询英语成绩为null的 SELECT * FROM student WHERE english IS NULL; -- 查询英语成绩不为null SELECT * FROM student WHERE english IS NOT NULL;
LIKE模糊查询
占位符:
_:单个任意字符
%:多个任意字符
-- 查询姓马的有哪些 SELECT * FROM student WHERE NAME LIKE '马%'; -- 查询姓名第二个字符是化的人 SELECT * FROM student WHERE NAME LIKE "_化%"; -- 查询姓名是三个字的人 SELECT * FROM student WHERE NAME LIKE "___";-- 3个下划线 -- 查询姓名中包含马的人 SELECT * FROM student WHERE NAME LIKE "%德%";
搜索
复制