SQL常用查询语句
SELECT语句用于查询数据库中的内容
目录
1 查询指定表的所有内容
2 显示所有行的指定列
3 显示指定行的指定列
4 对查询结果进行排序
4.1 按照单一字段排序
4.2 多重排序
5 查询数据总数
5.1 查询一共有多少行
5.2 统计符合条件的有多少行
6 给查询出来的列设置别名
7 条件子句
7.1 数字运算符
7.2 条件运算符
8 limit
1 查询指定表的所有内容
SELECT * FROM 表名称 查询指定表中的所有数据(所有字段)
运行之前是这样的
运行之后显示出了表中的所有数据
2 显示所有行的指定列
SELECT 字段名称 FROM 表名称 查询指定表中的指定字段数据。如果要查询多个列,多个列之间用逗号分割
查询一个列
查询多个列
3 显示指定行的指定列
SELECT 字段名称 FROM 表名称 WHERE 条件
查询之前是这样的
我现在想查 status=1 的所有行,只显示username与password
4 对查询结果进行排序
4.1 按照单一字段排序
ORDER BY 根据指定的列对查询结果排序
如果不给order by顺序是按照主键排序,我们当前的主键是id
我们可以按照status排序
默认情况下 ORDER BY为升序排列,你也可以给关键字ASC表明升序排序
如果改为DESC则代表降序排序
4.2 多重排序
比如我们先按照 status 降序排序,然后再按照 username 升序排序
- 虽然结果一样但确实是按照两个条件排的
5 查询数据总数
COUNT可以计算符合条件的数据数量
SELECT COUNT(*) FROM 表名称
当前表中有这些数据
5.1 查询一共有多少行
如果不加where就是查询表中一共有多少行
5.2 统计符合条件的有多少行
如果加了where可以统计一些条件,比如我们现在想统计 status=0 的行数
6 给查询出来的列设置别名
可以使用 as 给查询出来的列设置别名
比如我查询出来username这一列,将其命名为name
多个列可以有多个别名
也可以给 count(*) 别名
7 条件子句
条件子句是我们上面跟在where后的内容,是用来筛选用的
条件一般来讲都是 条件名 运算符 条件值 这种形式
7.1 数字运算符
常用的数字运算符有下面这些
- 不等于可以写成 !=
7.2 条件运算符
条件运算符常用 and(且) 和 or(或),条件运算符可以将若干个条件连接起来
我们做两个例子,表中的所有数据是这样的
现在我们要查询 status=1 且 id<12 的行
查询 status=1 或 id<12 的行
条件可以无限接很多个且and和or可以组合使用
8 limit
limit是筛选查询结果的,后面接两个数,第一个数是从第几个显示,第二个数是显示多少个,常见的应用场景是 分页
下面简单做个例子,我当前根据条件插到了四个结果
但我不想把所有结果都返回回去(都返回回去的话前端处理会麻烦一些),这个时候我们可以加上limit,比如现在我想从第0个开始,只显示三个
这样就得到了id为11,12,13的三个数据
比如我现在想从第1个开始,显示两个
这样就得到了id为11,12的两个数据
在实际应用中,前端会给后端两个数 当前是第几页(pagenum)与一页放多少个(pagesize)
下面的计算可以放在前端完成也可以放在后端完成
- limit的第一个数 (pagenum - 1) * pagesize
- limit的第二个数 pagesize
前端一般不会写第0页,但SQL要从0开始索引,这个就是减1的理由