您的位置
主页 > 网站技术 > 数据库 > » 正文

与MSSQL对比学习MYSQL的心得(六)--函数(6)

来源: 锦尚中国 点击:

USE [sss] SELECT * FROM [dbo].[aaa] INSERT INTO [dbo].[aaa] ( [name] ) VALUES ( N'sdfsdf' -- name - nvarchar(50) ) SELECT * FROM [dbo].[aaa] INSERT INTO [dbo].[aaa] ( [name] ) VALUES ( N'sdf969' -- name - nvarchar(50) ),('lkjj96'),('565656') SELECT IDENT_CURRENT('aaa') SELECT * FROM [dbo].[aaa]


加密函数

1、加密函数PASSWORD(STR)

PASSWORD(STR)从原文密码str计算并返回加密后的密码字符串,当参数为NULL时,返回NULL

SELECT PASSWORD('NEWPWD')


MYSQL将PASSWORD函数加密后的密码保存到用户权限表中

TIPS:PASSWOR()函数在MYSQL服务器的鉴定系统中使用;不应将他用在个人应用程序中,PASSWORD()函数加密是单向的(不可逆)

PASSWORD执行密码加密与UNIX中密码加密方式不同

2、加密函数MD5(str)

MD5(str)为字符串算出一个MD5 128比特校验和。该值以32位十六进制数字的二进制字符串形式返回,若参数为NULL,则会返回NULL

SELECT MD5('123')


 
3、加密函数ENCODE(str,pswd_str)

ENCODE(str,pswd_str)使用pswd_str作为密码,加密str。使用DECODE()解密结果,结果是一个和str长度相同的二进制字符串

SELECT ENCODE('nihao','123')


可以看到加密后的结果为乱码

 4、解密函数DECODE(crypt_str,pswd_str)

 DECODE(crypt_str,pswd_str)使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由ENCODE()返回的字符串

SELECT DECODE(ENCODE('nihao','123'),'123')


可以看到,解密出来的字符串

ENCODE()和DECODE互为反函数

其他函数

1、格式化函数FORMAT(x,n)

FORMAT(x,n)将数字x格式化,并以四舍五入的方式保留小数点后n位,结果以字符串的形式返回。

若n为0,则返回结果函数不含小数部分

SELECT FORMAT(12332.123465,4)


FORMAT(12332.123465,4)保留4位小数点值,并进行四舍五入,结果为12,332.1235

2、不同进制的数字转换的函数

CONV(N,from_base,to_base)函数进行不同进制数间的转换。

SELECT CONV('a',16,2)


 CONV('a',16,2)将十六进制的a转换为二进制表示的数值。

3、IP地址与数字相互转换的函数

INET_ATON(expr)给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数。

地址可以是4或8比特地址

INET_NTOA(expr)给定一个数字网络地址(4或8比特),返回作为字符串的该地址的点地址表示。

4、加锁函数和解锁函数

GET_LOCK(str,timeout)设法使用字符串str给定的名字得到一个锁,超时为timeout秒。

RELEASE_LOCK(str)解开被GET_LOCK()获取的,用字符串str所命名的锁。

IS_FREE_LOCK(str)检查名为str的锁是否可以使用

IS_USED_LOCK(str)检查名为str的锁是否正在被使用

5、重复执行指定操作的函数

BENCHMARK(count,expr)函数重复count次执行表达式expr。他可以用于计算MYSQL处理表达式的速度。

结果值通常为0(0只是表示处理过程很快,并不是没有花费时间)

另一个作用是他可以在MYSQL客户端内部报告语句执行的时间。

首先,使用PASSWORD函数加密密码

SELECT PASSWORD('nihao')


可以看到PASSWORD()函数执行花费的时间为0.00098秒

下面使用BENCHMARK函数重复执行PASSWORD操作500000次

SELECT BENCHMARK(500000,PASSWORD('nihao'))




首页  - 关于站长圈  - 广告服务  - 联系我们  - 关于站长圈  - 网站地图  - 版权声明