【13】WEB安全学习----MYSQL-3

目录

 

函数与操作符

一、类型转换

隐式转换:

显式转换:

二、流程控制

IF

IFNULL

三、字符串函数

四、日期时间函数

五、加密和压缩功能

六、其它函数功能


函数与操作符

一、类型转换

隐式转换:

当运算符与不同类型的操作数一起使用时,会发生类型转换以使操作数兼容。某些转换是隐式发生的。例如,MySQL会根据需要自动将数字转换为字符串,反之亦然。

SELECT 1+'1';  //2
SELECT '2'+'1'; //3
SELECT '2a'+1; //3
SELECT '2a'+'4b'; //6
SELECT '2a'+'b'; //2
SELECT 3>'2a'; //1
SELECT 1>'2a'; //0

显式转换:

利用MySQL中两个函数其中之一,可以将expr转换到指定类型type。

CAST(expr AS type)
CONVERT(expr,type)

SELECT 38.8, CAST(38.8 AS CHAR);
        - > 38.8,'38 .8'
SELECT 38.8, CONCAT(38.8);
        - > 38.8,'38 .8'

二、流程控制

IF

语法格式:IF(expr1,expr2,expr3),如果expr1是TRUE (expr1 <> 0和expr1 <> NULL),则IF() 返回expr2。否则,它返回expr3。

IFNULL

语法格式:IFNULL(expr1,expr2),如果expr1不是 NULL,则 IFNULL()返回 expr1; 否则它会返回 expr2。

三、字符串函数

MySQL字符串函数
函数名说明demo
ASCII(str)返回字符串最左侧字符的代码SELECT ASCII('a');   //97
ORD(str)返回字符串最左侧字符的代码SELECT ORD('a');  //97
CHAR(N)返回数字N对应的字符SELECT CHAR(97);  //'a'
BIN(N)返回二进制值的字符串表示形式 NSELECT BIN(10);  //'1010'
HEX(str/N)返回十进制或字符串值的十六进制表示形式

SELECT HEX('abc');  //616263

SELECT HEX(123);  //7B

UNHEX(str)返回包含数字十六进制表示的字符串SELECT UNHEX('123');  //☺#
OCT(N)返回包含数字的八进制表示的字符串SELECT OCT(16);  //20
TO_BASE64(str)返回转换为base-64字符串的参数(mysql5.7版本及以上才有)SELECT TO_BASE64('abc') //'YWJj'
FROM_BASE64(str)解码base64编码的字符串并返回结果(mysql5.7版本及以上才有)FROM_BASE64('YWJj');  //'abc'
UPPER(str)转换为大写SELECT UPPER('abc');  //'ABC'
LOWER(str)转换为小写SELECT LOWER('ABC');  //'ABC'
TRIM(str)删除前导和尾随空格SELECT TRIM(' a b '); //'a b'
LEFT(str,len)返回指定的最左边的字符数SELECT LEFT('abcdefg',4);  //'abcd'
RIGHT(str,len)返回指定的最右边的字符数SELECT RIGHT('abcdefg',4);  //'defg'
MID(str,pos,len)返回指定的子字符串

SELECT MID('abcde',1,2);  //'ab'

SELECT MID('abcde',2);  //'bcde'

SUBSTRING(str,pos,len)返回指定的子字符串

SELECT SUBSTRING('abcde',1,2);  //'ab'

SELECT SUBSTRING('abcde',2);  //'bcde'

SUBSTR(str,pos,len)返回指定的子字符串

SELECT SUBSTR('abcde',1,2);  //'ab'

SELECT SUBSTR('abcde',2);  //'bcde'

REVERSE(str)反转字符串中的字符SELECT REVERSE('abcd');  //'dcba'
CHAR_LENGTH(str)返回参数中的字符数SELECT CHAR_LENGTH('abc哈'); //4
LENGTH(str)以字节为单位返回字符串的长度SELECT LENGTH('abc哈');  //5
CONCAT(str1,str2,...)返回连接字符串

SELECT CONCAT('A','B','C'); //'ABC'

INSERT(str,pos,len,newstr)在指定位置插入一个子字符串,直到指定的字符数SELECT insert('abcdefg',3,1,'11'); //'ab11defg'
REPLACE(str,from_str,to_str)替换指定的字符串,返回替换结果SELECT REPLACE('aabbcc','a','1'); //‘11bbcc’
RPAD(str,len,padstr)追加指定次数的字符串SELECT RPAD('hi',5,'b'); //'hibbb'
STRCMP(expr1,expr2)比较两个字符串SELECT STRCMP('text2', 'text'); //1

四、日期时间函数

返回当前日期-CURDATE()

返回当前时间-CURTIME()

返回当前日期和时间-NOW()

返回Unix时间戳-UNIX_TIMESTAMP()

将Unix时间戳格式化为日期-FROM_UNIXTIME()

将字符串转换为日期-STR_TO_DATE()

五、加密和压缩功能

MD5加密

SHA1加密

SHA2加密 

不同加密位数:SHA-224,SHA-256,SHA-384和SHA-512

六、其它函数功能

反复执行表达式

语法格式:BENCHMARK(count,expr),可以用来进行盲注。

USER():查看当前用户列表

CURRENT_USER():查看当前用户

DATABASE():查看当前数据库

SCHEMA():查看当前数据库

VERSION():返回表示MySQL服务器版本的字符串

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值