后端基础SQL— 高级查询与子查询#掌控安全-筑心

知识点一:Order by#排序
Order by在mysql中实现输出数据的排序(默认升序ASC,降序为DESC),在Web渗透测试中使用其判断目标表中字段数量。
实验环境中表的数据如下:

班级表的全部内容

使用Order by 以xh(学号)排序,默认是升序
以xh排序

使用Order by 以xm(姓名)排序
以xm排序

使用Order by 以xh(学号)排序,使用降序
以xh降序排序

知识点二:Limit#分页
limit 0,1 其中0表示:从表的第一条数据开始,1表示:共显示1行数据
limit 0,1

limit 1,2 其中1表示:从表的第二条数据开始,2表示:共显示2行数据
limit 1,2

知识点三:模糊查询
关键字:like 和 %
示例如下图:
模糊查询

知识点四:运算符号
关键字: +、-、、/、%
示例如下图:
运算符

知识点五:逻辑运算
关键字:NOT(!!) 取反、AND(&&) 与、与OR(||) 或
示例如下图:
NOT取反运算

全表内容

AND与运算

OR或运算

知识点六:SLEEP延时
image.gif

image.gif

知识点7:联合查询
满足以下条件才能够使用联合查询:字段数必须相同。联合查询前面的数据和后面数据一样只显示一条数据,如果希望现实两条数据就需要在union 后面加上all,使用union all来查询 。
联合查询

联合查询

知识点8:子查询
子查询是一种常用计算机语言select-sql语言中嵌套查询下层的程序模块,当一个查询是另一个查询的条件时,称之为子查询。
子查询就如同 1+2
2=5 (1+2)*2=6 ,子查询就是优先执行,然后执行得到的结果作为某个查询的条件。
子查询

select * from bjb where xh=(select 4);
等同于如下查询:
先执行select 4,然后执行select * from bjb where xh=4;
知识点九:渗透测试常用函数
1、group_concat(col) 返回由属于一组列值连接组合而成的结果
group_concat

2、ASCII(char)返回字符的ASCII码值
第一个字符的ASCII码值

3、DATABASE() 返回当前数据库名
数据库名

4、CURRENT_USER()函数用于返回MySQL帐户的用户名和主机名,服务器使用该帐户对当前客户端进行身份验证。
用户名主机名

5、USER()或SYSTEM_USER()返回当前登录用户名
当前登录用户名

6、VERSION()返回Mysql服务器版本
Mysql服务器版本号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • MSSQL 跨库查询(臭要饭的!黑夜) 榨干MS SQL最后一滴血 SQL语句参考及记录集对象详解 关于SQL S...
    碧海生曲阅读 5,687评论 0 1
  • 这一篇最主要是记录下命令,方便以后查找 使用Mysql 创建数据库 create database mysql_t...
    Treehl阅读 602评论 0 0
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 1,254评论 0 7
  • 一. Java基础部分.................................................
    wy_sure阅读 3,837评论 0 11
  • 我怎么看待自由这件事。 晚上7点多值班回寝室,我一个人慢慢走在学校的路上,路上没什么人,灯也是昏黄的,照下来影子投...
    南极和北极阅读 391评论 0 0