一、MySQL的基础查询语句
select*from 表 order by 字段 [ASC(默认)/DESC];根据字段名排序。如果不知道字段名的话,可以用order by 1/2代替,以第1/2个字段排序。升序(从小到大)ASC,降序(从大到小) DESC.
select*from 表 limit n,m;
n表示从第几行开始,m表示取几条。Limit核心在于分页。Limit 0,1 从第一行开始共取一行。Limit (2,2) 从第三行开始共取二行。
select *from 表 where username like '%%' 模糊查询
运算符号: + - * / % 数据库可以执行加减乘除 select 1+2;
逻辑运算: NOT (!) 取反 where not/! Xm=… AND (&) OR (|) 需要用两个一样的符号在一起才能起效
另外,数据库里有sleep函数,有延时的意思。Select sleep(5);延时5秒执行。Sleep()本身是假。And如果前面是假的,后面就不会执行。
二、联合查询(字段数必须相同)
表的内容无重复:
SELECT * FROM 表1 UNION SELECT * FROM 表2;
表的内容有重复:
SELECT * FROM 表1 UNION ALL SELECT * FROM 表2;
注意事项:两次查询的列数必须一致。
三、子查询
官方定义:子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询。
理解:子查询就如同 1+22=5 (1+2)2=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) 返回由属于一组的列值连接组合而成的结果
Select group_concat(xm) from bjb;多行数据单行输出
DATABASE() 返回当前数据库名
USER()或SYSTEM_USER() 返回当前登陆用户名
VERSION() 返回MySQL服务器的版本 select version();
SLEEP(n) 休眠n秒
一起交流网安吧:safe2082
本文详细介绍了MySQL的基本查询语句,包括排序、分页、模糊查询,以及联合查询和子查询的使用方法。此外,还涵盖了渗透测试中常用的函数,如GROUP_CONCAT、DATABASE()等。
1543





