MySQL 查询语句总结

单表查询

简单查询

查询所有字段

注意:业务代码中一般不会这样使用,会写上所有的列名进行查询

1
SELECT * FROM <table_name>;

查询指定的字段

1
SELECT <column1_name>,<columns_name>,... FROM <table_name>;

查询带有表别名

注意:1.别名中如果有特殊符号或空格,需要用引号引起来;2.AS 可省略

1
SELECT * FROM <table_name> [AS] <alias_name>;

查询带有列别名

注意:AS 可省略

1
SELECT <column_name1> [AS] <alias_name1>, <column_name2> [AS] <alias_name2> ... FROM <table_name>;

查询去掉重复值

注意:如果有多个字段,需要同时重复

1
SELECT DISTINCT <column_name1>,<column_name2>, ... FROM <table_name>;

运算查询

1
SELECT (<column1_name> + <column2_name>) FROM <table_name>;

条件查询

比较运算符

1
2
3
4
5
6
大于 >
小于 <
等于 =
大于等于 >=
小于等于 <=
不等于 <>(!=)

逻辑运算符

1
2
3
4
5
6
between…and… : 显示在某一区间的值(含头含尾)
in(多个条件) : 或者(or)关系
like: 模糊查询
% 代表零个或者多个任意字符.
_ 代表一个字符.
is null : 判断是否为空

排序查询

注意:1.不写的话默认为升序 ASC;2.被排序的字段如果有多个,先按照第一个排序,再按照后边的依次排序;3.写在 sql 语句末尾

1
SELECT * FROM <table_name> ORDER BY <column1_name> ASC(升序)/DESC(降序);

聚合函数

注意:select 之后 , from 之前

1
2
3
4
5
sum(求和) : 指定列不是数值类型,计算结果为 0;
count(统计数) : 不包含 null; 一般用 *;
max(最大值) : 如果是字符串类型,使用字符串排序;
min(最小值) : 如果是字符串类型,使用字符串排序;
avg(平均值) : 指定列不是数值类型,计算结果为 0;

分组查询

注意:被分组的字段,一般都写在 select 后作为查询条件 , 方便查看

1
2
3
group by 被分组的字段 [having 条件]
where : 分组查询前过滤
having : 分组查询后过滤

分页查询

注意:数据库中行的索引是从0开始,列的索引是从1开始

1
2
3
4
5
6
7
8
使用关键字 LIMIT
格式一: 只要前 x 条数据
SELECT * FROM <table_name> LIMIT x;

格式二: 分页查询
SELECT * FROM <table_name> LIMIT m, n;
m : 每页数据的开始行数(变化的)
n : 每页显示的数量(固定的)

多表关系

一对多关系

从表使用主表的主键作为主键(外键)
注意:1.主表中有的数据 , 从表中可以没有;2.主表必须有数据, 才能向从表中添加数据;3.删除主表的数据 , 要先删除从表之后 , 才能删除主表

本文结束啦 感谢您阅读
如果你觉得这篇文章对你有用,欢迎赞赏哦~
0%