|
WEB渗透测试工程师系统班20303期 第12节课作业 一、 常用的sql函数有哪些? 一、聚合函数(Aggregate Functions) COUNT() - 计算行数
SUM() - 求和
AVG() - 计算平均值
MAX() - 获取最大值
MIN() - 获取最小值
GROUP_CONCAT() (MySQL) / STRING_AGG() (SQL Server/PostgreSQL) - 将多行合并为字符串
二、字符串函数 CONCAT() - 连接字符串
SUBSTRING() / SUBSTR() - 提取子字符串
TRIM() - 去除首尾空格
LTRIM() / RTRIM() - 去除左/右空格
UPPER() / LOWER() - 转换为大/小写
LENGTH() / LEN() - 返回字符串长度
REPLACE() - 替换字符串
LEFT() / RIGHT() - 返回左/右指定长度字符
CHARINDEX() (SQL Server) / INSTR() (Oracle/MySQL) - 查找子串位置
三、数值函数 ROUND() - 四舍五入
CEIL() / CEILING() - 向上取整
FLOOR() - 向下取整
ABS() - 绝对值
MOD() - 取模
POWER() - 幂运算
SQRT() - 平方根
RAND() - 随机数
四、日期时间函数 NOW() / GETDATE() - 当前日期时间
CURDATE() / GETDATE() - 当前日期
CURTIME() - 当前时间
DATE() - 提取日期部分
TIME() - 提取时间部分
YEAR() / MONTH() / DAY() - 提取年/月/日
HOUR() / MINUTE() / SECOND() - 提取时/分/秒
DATEDIFF() - 计算日期差
DATE_ADD() / DATE_SUB() - 日期加减
DATE_FORMAT() (MySQL) / TO_CHAR() (Oracle) - 格式化日期
五、条件函数 CASE WHEN...THEN...ELSE...END - 条件表达式
IF() (MySQL) - 简单条件判断
COALESCE() - 返回第一个非NULL值
NULLIF() - 两值相等返回NULL
ISNULL() / IFNULL() / NVL() - 处理NULL值
六、窗口函数(分析函数) ROW_NUMBER() - 行号
RANK() - 排名(有并列会跳过序号)
DENSE_RANK() - 密集排名(有并列不跳过序号)
NTILE() - 分组排名
LEAD() / LAG() - 访问前后行数据
FIRST_VALUE() / LAST_VALUE() - 获取窗口第一/最后值
七、类型转换函数 CAST() - 类型转换
CONVERT() - 类型转换(SQL Server/MySQL)
TO_CHAR() / TO_NUMBER() / TO_DATE() (Oracle) - 类型转换 二、 information_schema数据库里面重点应该关注哪些数据表? 1、SCHEMATA表:提供了当前mysql实例中所有数据库的信息。是show databases的结果取之此表。
2、TABLES表:提供了关于数据库中的表的信息(包括视图)。详细表述了某个表属于哪个schema,表类型,表
引擎,创建时间等信息。是show tables from schemaname的结果取之此表。
3、COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。是show columns from
schemaname.tablename的结果取之此表。
4、STATISTICS表:提供了关于表索引的信息。是show index from schemaname.tablename的结果取之此表。 三、 通过information_schema查询库名、表名、以及自己创建的数据表的字段名和具体数据
|