本文内容:

  • MySQL的基础查询语句
  • 链接查询
  • 联合查询
  • 子查询
  • 渗透测试常用函数

1,MySQL基础查询语句:

  select * from 表 order  by ASC/DESC;

  ASC:从小到大(默认)。

  DESC:从大到小。

补充:在不知道字段名称的情况下,order by可以使用数字代替,用数字几就是按第几个字段排序。

  select * from 表 limit n,m;

  n:表示从第几行开始取。

  m:表示取几条。

注意多种查询可以合并,先后顺序为:条件>排序=>分组>分页。

  select * from 表 where 字段 like '%a%';

  %通配符

  补充:渗透测试时,有时候不能写=,就可以用like查询代替。

2,链接查询:

  内链接:

    select 表1.*, 表2.* from 表1 INNER JOIN 表2 on 表1.字段=表2.字段;

    表1.字段=表2.字段为链接查询的条件。

  外连接:

    左链接:显示左表所有数据,右表没有数据的显示NULL。

      select 表1.*, 表2.* from 表1 LEFT JOIN 表2 on 表1.字段=表2.字段;

    右链接:显示右表所有数据,左表没有数据的显示NULL。

      select 表1.*, 表2.* from 表1 RIGHT JOIN 表2 on 表1.字段=表2.字段;

补充:数据库可以进行一些运算。

  运算符:+、-、/、*、%。

  逻辑运算符: NOT(!)  AND(&&)   OR(!!)

  slee():延迟函数。

  select slee(n)延迟n秒。

  AND和OR逻辑:

    AND:都为真,为真,其余全为假。

    OR:都为假,为假,其余全为真。

    AND执行有选择:

    当第一个条件为真时,不执行其余条件

    当第一个条件为假时,不执行其余条件

  举例:

    假如表中符合数据有两条。

    select * from 表 where 字段=数据 and sleep(2)

    这时语句执行就会延迟4秒

    因为第一个条件为真,就不会执行第二个条件,所以延迟4秒。

    select * from 表 where 字段= 数据 or sleep(2)

    这是语句执行就会延迟8秒

    虽然第一个条件为真,但是or执行没有选择,第二个条件还是会执行。所以会延迟8秒

3,联合查询:

   表的内容无重复:

    select * from 表1 UNION select * from 表2;

   表的内容有重复:

    select* from 表1 UNION ALL select * from 表2;

注意事项:两次查询的字段数必须一致。

4,子查询:

  官方定义:子查询是一种常用计算机语言select-sql语言种嵌套查询下层给的程序模块,当一个查询是另一个查询的条件是,称为子查询。

  通俗解释:子查询就是有限执行,然后执行得到的结果作为某个查询的条件。

举例:

  admin表当id=1的用户是否在user表也存在。

  select * from user where username = (select username from admin where id=1);

  检查admin表和user用户名是否相等。

  select * from user where yonghu in (select yonghu from admin);

补充:子查询中的关键字:

  ANY:对于子查询返回的列中任何一个数值,如果比较结果true就返回true。

  IN:效果等同于ANY。

  ALL:效果与ANY相反,比较结果必须全部为FALSE。

  SOME:some是any的别名,用的比较少。

  EXISTS:子查询是否有结果,若返回0行则表示FALSE,否则为TRUE。

5,渗透测试常用函数:

  GROUP_CONCAT(字段):         可以将列显示的数据,转换为行显示,中间间隔符为逗号。

  ASCII(char):              返回字符的ASCII码值。

  SELECT DATABASE():          返回当前数据库名。

  SELECT USE()或SYSTEM_USEER():       返回当前登录用户名。

  SELECT VERSION():          返回Mysql服务器的版本。

  SELECT SLEEP(n):             休眠n秒。

与君共勉:

  努力不是为了做给谁看,

  无论什么结果都能问心无愧,

  努力是因为你可以不接受命运的框定,

  靠自己来场漂亮的反击。

网络安全从入门到精通(第二章-3)后端基础SQL— MySQL高级查询与子查询的更多相关文章

  1. 网络安全从入门到精通 (第二章-2) 后端基础SQL—MySQL数据库简介及SQL语法

    本文内容: 什么是数据库 常见数据库 数据库的基本知识 基本SQL语法 1,什么是数据库? 数据库就是将大量数据保存起来,通过计算机加工,可以高效访问的数据聚合. 数据库就是长期存储在计算机内,有组织 ...

  2. 网络安全从入门到精通 (第二章-6) 后端基础PHP—表单验证

    本文内容: 什么是表单? 如何创建一个表单: 接收并验证: PHP和数据库交互 1,什么事表单? 表单在网页中主要负责数据采集. 表单由三部分组成: 表单标签:这里面包含了处理表单数据所用动态脚本的U ...

  3. 网络安全从入门到精通 ( 第二章-5) 后端基础PHP—简介及基本函数-下

    本文内容: 循环语句 PHP获取表单信息 PHP操作Mysql语句 语法SQL注入 1,循环语句: for循环: 语法:for($x=0,$x<10;$x++){执行语句;} 注意:$x++,先 ...

  4. 网络安全从入门到精通 (第二章-4) 后端基础PHP—简介及基本函数-上

    本文内容 什么是PHP PHP的基础语法 运算符 条件分支语句 1,什么是PHP? PHP(超文本预处理器)是一种通用开源语言,(是动态语言中的一种,动态语言还有ASP,ASPX,JSP). PHP语 ...

  5. 网络安全从入门到精通 (第二章-1) Web安全前端基础

    本文内容: 前端是什么? 前端代码 HTML CSS JS !!!醋成酒的小墨,促成就的小墨,小墨促成就,!!! 1,前端是什么? 网站一般用两部分组成,前端负责展示,后端负责处理请求. 2,前端代码 ...

  6. SaltStack 入门到精通第二篇:Salt-master配置文件详解

    SaltStack 入门到精通第二篇:Salt-master配置文件详解     转自(coocla):http://blog.coocla.org/301.html 原本想要重新翻译salt-mas ...

  7. ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区

    原文:ArcGIS for Desktop入门教程_第二章_Desktop简介 - ArcGIS知乎-新一代ArcGIS问答社区 1 Desktop简介 1.1 ArcGIS for Desktop ...

  8. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  9. 第二章 TCP/IP 基础知识

    第二章 TCP/IP 基础知识   TCP/IP  transmission control protocol and ip internet protocol 是互联网众多通信协议中最为著名的.   ...

随机推荐

  1. 接口测试-chap2-关于重定向

    重定向: 301:资源永久转移 302:资源暂时转移到另一个地址了 1.如果请求接口时发生了重定向,python会自动跟随重定向,对重定向地址发起请求,最后只能得到重定向地址的响应结果.而看不到重定向 ...

  2. Nginx的四层和七层代理

    理论部分: 所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器,它一般走的是tcp,udp协议    所谓七层负载均衡,也称为“内 ...

  3. 吴裕雄--天生自然 R语言开发学习:中级绘图(续一)

    #------------------------------------------------------------------------------------# # R in Action ...

  4. Python---13面向对象编程

    一.类和实例 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法, ...

  5. linux下光标操作

    Ctrl+左右键    单词间跳转 Ctrl+a    跳到行首 Ctrl+e    跳到行尾 Ctrl+u    删除当前光标前的文字 Ctrl+k    删除当前光标后的文字 Ctrl+w    ...

  6. Spring Boot 鉴权之—— JWT 鉴权

    第一:什么是JWT鉴权 1. JWT即JSON Web Tokens,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519),他可以用来安全的传递信息,因为传递的信息是 ...

  7. 年薪5w和50w的人,区别到底在哪?

    年薪5w和50w的人,区别到底在哪? 2017-02-22 阿青 360投资圈 文/ 阿青 许多人在职场摸爬滚打很多年并不顺利,薪酬一直上不去.职场鸡汤喝了不少,也掌握了不少职场技能,工作经验也颇为丰 ...

  8. js大作业(0)

    DAY1:在看HTML5游戏开发实战.手写了一遍乒乓球.自己玩了半小时.实话讲,和本科学的MFC差别不大.通过setInterval函数获取用户的输入 从而允许多用户操作.parseInt把字符串化为 ...

  9. C语言职工信息管理系统

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

  10. 基于layPage分页插件浅析两种分页方式

    最近在开发过程中经常用到分页,今天挤出些时间来捋一捋自己的经验 在web开发中,一般显示数据列表页时,我们会用到分页控件来显示数据.采用分页一般基于两种不同的需求,一种是数据量不算很大,但是在页面展示 ...