web安全入门(第二章-3)后端基础SQL— 高级查询与子查询

一、MySQL的基础查询语句

(单引号闭合 引号括号成对出现 选库 表不能重复建 字段插数据)
(选库 建表 插数据)

select*from表order by 字段[ASC(默认)/DESC];
升序(从小到大)ASC,降序(从大到小)DESC

select*from 表 limit n,m;
n表示从第几行开始,m表示取几条

select*from 表where username like '%%' 模糊查询

运算符号:+ - * / %

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

二、联合查询

*表的内容无重复:
  select*from 表1union sekect*from 表2;
*表的内容有重复:
  select*from 表1union all select*from 表2;
*注意事项:
  两次查询的列数必须一致

三、子查询

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

理解:子查询就如同1+2*2=5 (1+2)*5=6
      子查询就是优先执行,然后执行得到的结果作为某个查询的条件

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

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

select*from user where username in (select username from admin)
   检查admin表和user 表是否有用户名相等

四、渗透测试常用函数

group_concat(col)   返回由属于一组的列值连接组合而成的结果
database()          返回当前数据库名
user()或system_user()返回当前登录用户名
version()              返回mysql服务器的版本
sleep(n)               休眠n秒

你可能感兴趣的:(安全入门,php,mysql,sql)