MySQL的系统信息函数和加密解密函数(十四)下

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: MySQL的系统信息函数和加密解密函数(十四)下

三. 加解密函数


三.一 password(str) 加密


是单向加密,且不可逆的。 常常用于MySQL服务器加密。


如果加密的字符串为null,那么将返回 空字符串.


select password('abc123'),password('两个蝴蝶飞'),password(null);


20191203154115630.png


三.二 md5(str) MD5方式加密


采用Md5的方式进行加密


select md5('abc123'),md5('123456');


20191203154204191.png


三.三 encode(str,ps_str) 固定字符串加密


以 ps_str 字符串为密钥,进行加密 str字符串。 可以让用户自定义加密方式。


select encode('abc123','A'),encode('abc123','ABC');


20191203154214524.png


三.四 decode(str,ps_str) 固定字符串解密


以ps_str字符串为密钥,进行解密 str字符串。 与encode(str,ps_str)互为反函数


select decode(encode('abc123','A'),'A'),decode(encode('abc123','ABC'),'ABC');


20191203154221257.png


可以正好返回以前要加密的字符串。


四. 其他函数


四.一 格式化数字 format(num,n)


格式化数字 num, 返回 n位小数, 四舍五入的方式进行获取。


select format(1234.234,2),format(1234.236,2),format(12.23423,1),format(123.22,0),format(123.23,-1);


20191203154229799.png


发现, -1 值不起作用。 即 n>=0.


要想使 -1起作用,可以用 数学函数里面的 round(x,-1) 函数进行处理。


四.二 conv(num,from_base,to_base) 进制转换


其中,最小为二进制。


select conv('F',16,10),conv(7,10,2),conv(9,10,8),conv(1010,2,10);


20191203154233154.png


四.三 bin(num) 将十进制数字转换成二进制


select bin(7),bin(4),bin(10);


20191203154304338.png


四.四 oct(num) 将十进制数字转换成八进制


select oct(7),oct(10),oct(15);


20191203154247953.png


四.五 hex(num) 将十进制数字转换成十六进制

select hex(9),hex(10),hex(15);


2019120315431319.png


四.六 inet_aton(ip字符串) ip地址转换成数字


其中, inet 为internet 的简写。


aton 为 address to num.


select inet_aton('127.0.0.1'),inet_aton('10.1.1.121');


20191203154317632.png


  • 值分别为 2130706433,和 167838073


为 数字结果=第一个值256^3 +第二个值256^2 + 第三个值*256^1+ 第四个值。


四.七 inet_ntoa(数字) 将数字转换成ip地址


  • 与 inet_aton(ip字符串) 互为反函数。


  • ntoa 为 num to address.


select inet_ntoa(2130706433),inet_ntoa(167838073);


20191203154325572.png



四.八 convert(str using 新的编码) 转换字符串的编码


可以改变字符串的编码


要借助一下 charset(str) 函数进行验证。


select charset('岳泽霖'),charset(convert('岳泽霖' using gbk)),
charset(convert('岳泽霖' using latin1));


201912031538492.png


四.九 cast(x as type),convert(x,type) 改变数据类型


可以改变数据类型,但前堤是两个数据类型可以相互转换。


  • 其中,转换成类型 type 可以的取值有:


type取值

表示意义

char(n)

字符串型
date

日期型

time

时间型

datetime

日期和时间型

decimal

float浮点型

signed

int类型


相关文章
|
7天前
|
关系型数据库 MySQL 开发者
Mysql COUNT() 函数详解
【6月更文挑战第19天】Mysql COUNT() 函数详解,包括 COUNT() 的用法及 COUNT() 带条件查询的操作
|
7天前
|
关系型数据库 MySQL
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
【随手记】MySQL中ROW_NUMBER()、RANK()和DENSE_RANK()函数的用法
12 1
|
5天前
|
关系型数据库 MySQL
MySql中的替换函数replace()
MySql中的替换函数replace()
|
5天前
|
存储 SQL 关系型数据库
MySQL快速回顾:计算字段与函数
MySQL快速回顾:计算字段与函数
|
2天前
|
存储 关系型数据库 MySQL
关系型数据库MySQL的MyISAM
【6月更文挑战第17天】
21 11
|
1天前
|
SQL 关系型数据库 MySQL
关系型数据库mysql的CSV
【6月更文挑战第18天】
18 6
|
4天前
|
存储 关系型数据库 MySQL
|
4天前
|
SQL 关系型数据库 MySQL
|
1天前
|
存储 监控 关系型数据库
关系型数据库mysql的BLACKHOLE
【6月更文挑战第18天】
17 4
|
4天前
|
存储 关系型数据库 MySQL