Mysql数据库函数(五)加/解密及其它函数_数据库解密函数_Poetry_And_Distance的博客-程序员宅基地

技术标签: MySql数据库  

#加/解密函数
1.加密函数
	格式:PASSWORD(str)
	作用:从原明文密码str计算并返回加密后的密码字符串,参数为NULL时,返回NULL,加密为单向不可逆
	eg.
		mysql> select password('newpwd');
		+-------------------------------------------+
		| password('newpwd')                        |
		+-------------------------------------------+
		| *1FA85AA204CC12B39B20E8F1E839D11B3F9E6AA4 |
		+-------------------------------------------+
	格式:md5(str)
	作用:为字符串算出一个md5 128bit校验和,返回32位16进制数字的二进制字符串形式返回,参数为NULL,返回NULL
	eg.
		mysql> select md5('mypwd');
		+----------------------------------+
		| md5('mypwd')                     |
		+----------------------------------+
		| 318bcb4be908d0da6448a0db76908d78 |
		+----------------------------------+
	格式:ENCODE(str,pswd_str)
	作用:使用pswd_str作为密码,加密str,是一个和str长度相同的二进制字符串,使用DECODE()解密结果
	eg.
		mysql> select encode('newpwd','cry'),length(encode('newpwd','cry'));
		+------------------------+--------------------------------+
		| encode('newpwd','cry') | length(encode('newpwd','cry')) |
		+------------------------+--------------------------------+
		|                    |                              6 |
		+------------------------+--------------------------------+
2.解密函数
	格式:DECODE(crypt_str,pswd_str)
	作用:使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str为由ENCODE()返回的字符串
	eg.
		mysql> select decode(encode('newpwd','cry'),'cry');
		+--------------------------------------+
		| decode(encode('newpwd','cry'),'cry') |
		+--------------------------------------+
		| newpwd                               |
		+--------------------------------------+
3.格式化函数
	格式:format(x,n)
	作用:将数字x格式化,并以四舍五入的方式保留小数点后n位,结果以字符串形式返回,若n==0,则返回结果函数不含小数部分
	eg.
		mysql> select format(1.34356,4),format(1.34354,4),format(1.32,4),format(1.32,0);
		+-------------------+-------------------+----------------+----------------+
		| format(1.34356,4) | format(1.34354,4) | format(1.32,4) | format(1.32,0) |
		+-------------------+-------------------+----------------+----------------+
		| 1.3436            | 1.3435            | 1.3200         | 1              |
		+-------------------+-------------------+----------------+----------------+
4.进制转换函数
	格式:conv(N,from_base,to_base)
	作用:返回数值N的字符串表示,有from_base进制转化为to_base进制,任意一个参数为NULL,返回NULL。
	eg.
		mysql> select conv('a',16,2),conv(1,10,2),conv(10,10,8),conv(10,16,8);
		+----------------+--------------+---------------+---------------+
		| conv('a',16,2) | conv(1,10,2) | conv(10,10,8) | conv(10,16,8) |
		+----------------+--------------+---------------+---------------+
		| 1010           | 1            | 12            | 20            |
		+----------------+--------------+---------------+---------------+
5.IP地址与数字相互转换的函数
	格式:INET_ATON(expr)
	作用:给出一个作为字符串的网络地址的点地址表示,返回一个代表地址数值的整数,计算规则192*256^3+168*256^2+0*256+0
	eg.
		mysql> select inet_aton('192.168.0.0'); 
		+--------------------------+
		| inet_aton('192.168.0.0') |
		+--------------------------+
		|               3232235520 |
		+--------------------------+
	格式:INET_NTOA(expr)
	作用:给定一个数字网络地址,返回作为字符串的改地址的点地址表示
	eg.
		mysql> select inet_ntoa(3232235520);                      
		+-----------------------+
		| inet_ntoa(3232235520) |
		+-----------------------+
		| 192.168.0.0           |
		+-----------------------+
6.加锁和解锁函数
	格式:GET_LOCK(str,timeout)
	作用:使用str给定的名字得到一个锁,持续时间timeout秒。成功返回1,超时返回0,错误返回NULL
	格式:RELEASE_LOCK(str)
	作用:解开被get_lock()获取,用str命名的锁,若锁被解开返回1,线程尚未创建锁返回0(未解开),锁不存在,返回NULL
	格式:IS_FREE_LOCK(str)
	作用:检查名为str的锁是否可以使用,可以使用返回1,正在被使用,返回0,出现错误返回NULL
	格式:IS_USED_LOCK(str)
	作用:检查名为str的锁是否正在使用,正在使用返回使用该锁的客户端的连接表示符(connection ID),否则返回NULL。
	eg.
		mysql> mysql> select get_lock('lock',10),IS_USED_LOCK('lock'),is_free_lock('lock'),release_lock('lock'),is_free_lock('lock');
		+---------------------+----------------------+----------------------+----------------------+----------------------+
		| get_lock('lock',10) | IS_USED_LOCK('lock') | is_free_lock('lock') | release_lock('lock') | is_free_lock('lock') |
		+---------------------+----------------------+----------------------+----------------------+----------------------+
		|                   1 |                    3 |                    0 |                    1 |                    1 |
		+---------------------+----------------------+----------------------+----------------------+----------------------+
7.重复执行指定操作
	格式:BENCHMARK(count,expr)
	作用:重复count次执行表达式expr,用于计算mysql处理表达式速度或者可以在mysql客户端内部报告语句执行时间
	eg.执行一次和500000次时间对比
		mysql> select password('newpd');
		+-------------------------------------------+
		| password('newpd')                         |
		+-------------------------------------------+
		| *53EF09F01785E18B395ED7489D9A37A661B03196 |
		+-------------------------------------------+
		1 row in set, 1 warning (0.00 sec)

		mysql> select benchmark(500000,password('newwd'));
		+-------------------------------------+
		| benchmark(500000,password('newwd')) |
		+-------------------------------------+
		|                                   0 |
		+-------------------------------------+
		1 row in set, 1 warning (0.11 sec)
8.改变字符集函数
	格式:convert(... using ...)
	作用:带有using的convert()函数被用来在不同的字符集之间转化数据
	eg.
		mysql> select charset('string'),charset(convert('string' using latin1));
		+-------------------+-----------------------------------------+
		| charset('string') | charset(convert('string' using latin1)) |
		+-------------------+-----------------------------------------+
		| utf8              | latin1                                  |
		+-------------------+-----------------------------------------+
9.改变数据类型的函数
	格式:cast(x, as type)或者convert(x,type)
	作用:将一个类型的值转换为另一个类型的值,可转换的type有:BINARY、CHAR(n)、DATE、TIME、DATETIME、DECIMAL、SIGNED、UNSIGNED
	eg.
		mysql> select cast(100 as char(2)),convert('2010-10-01 12:12:12',time); 
		+----------------------+-------------------------------------+
		| cast(100 as char(2)) | convert('2010-10-01 12:12:12',time) |
		+----------------------+-------------------------------------+
		| 10                   | 12:12:12                            |
		+----------------------+-------------------------------------+

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Poetry_And_Distance/article/details/79794647

智能推荐

12 Babylonjs基础入门 精灵图_new babylon.spritemanager 依赖-程序员宅基地

在本教程中,我们将学习如何使用精灵图。精灵图是2D的图像/动画,并且始终朝向相机,我们将使用它来显示带有alpha通道(透明度)的图像。如今,精灵通常用于显示动画角色和例子,以及模拟像树木这样的复杂3D对象。接下来,我们将实现以上效果:精灵管理器如果你想使用精灵,你需要创建一个“精灵管理器”来优化GPU资源,方法是在一个地方将精灵的多个实例分组。即使你想创建一个精灵,管理器也是必需的。你..._new babylon.spritemanager 依赖

为什么 application data文件夹是无限循环的_application data 无限循环-程序员宅基地

为什么 application data文件夹是无限循环的慎用某些“优化”软件向右键添加“管理员取得所有权限”功能,一旦你用此zhidao功能打开Vista或Win7中的Documents and Settings、Application Data等文件夹,哪怕只有一次,都会导致注册表中关于权限配额策略专的错乱,而这种故障的出现,不要指望通过“属性”——“安全”——“高级”中修改权限能够彻底解决,根治办法只能重做系统。如果一定要访问Documents and Settings,请间接属访问“C:U._application data 无限循环

我的狗子-业余四足机器人笔记(2)-单腿逆解(几何法)_单腿反解-程序员宅基地

引入之前不知道从哪里看到的,反解的三种方法:几何法,解析法,数值法(1)几何法就是运用一系列的三角公式求解(2)解析法:比如DH反解(我线代垃圾,待备研的同时好好学一下线代),想学习的话去coursera的robotics课程。b站有搬运的运动学片段:搜索关键字:台大机器人学,林沛群。(3)数值法:需要高性能处理单元,类似迭代数值试凑坐标系狗子的全部解算都是基于这个坐标系方向步骤参数:(1)足端坐标:X,Y,Z(2)三杆件夹角(即反解的目标值):∠A(髋关节),∠B(大腿关节),∠C(_单腿反解

深入理解计算机系统(1)漫游计算机系统-程序员宅基地

1.CPU在指令的要求下所能进行的操作

Linux网络编程 | UDP服务器_linux udp并发服务器-程序员宅基地

文章目录一、UDP1.1 简介1.2 常用函数‘1.2.1 recvfrom1.2.2 recv1.2.3 send1.2.4 sendto二、组播一、UDP1.1 简介UDP在传输过程中,不需要像TCP需要三次握手建立连接,从而提大幅提高通信间的效率,实时性强且开销小。但通信的稳定性和正确率却得不到保证;故被称为无连接的不可靠报文传递;故在使用该协议进行传输时,为了保证数据的正确性,我们需要在应用层添加辅助校验协议来填补这个不足;当然,UDP没有类似TCP的滑动窗口机制,故缓冲区被填满_linux udp并发服务器

Python字符串之基础篇_python字符串基础-程序员宅基地

一 Python中的字符串1、介绍字符串可以包含数字、字母、中文字符、特殊符号,以及一些不可见的控制字符,如换行符和制表符。2、举例>>> str1 ='abcd'>>> str2 ='python'>>> str3 ='123'>>> str4 ='a = 1*7 + 8'>>> str5 ='can\'t'>>> str5"can't">>> st_python字符串基础

随便推点

高速差分信号线的PCB布线要求_高速差分线-程序员宅基地

高速信号线主要包括:高速时钟线、SDRAM数据线、高速通信协议的数据线等。差分信号线具有抗干扰能力强,信噪比高,辐射小和带宽容量大等优点,因此应用非常广泛,例如USB、CAN等。(1)高速信号线走线规则:线路阻抗可分为单端阻抗和差分阻抗。保持特征阻抗连续、合适的终端匹配和端接电路必不可少,尽量不要T型或者直角走线。重要注意事项:确保参考平面连续,以使回路面积尽量短;确保特征阻抗连续,以减少..._高速差分线

Mysql安装教程(win10,64位)_如何安装mysql-5.1.45-winx64-程序员宅基地

Mysql 安装教程(win10,64位)Mysql安装包下载地址 : link解压到D盘将mysql-8.0.16-winx64/bin路径加入到环境变量中以管理员运行cmd,进入mysql-8.0.16-winx64/bin,并运行 mysql -install,运行 mysqld --initialize-insecure运行 net start mysql,显示mys..._如何安装mysql-5.1.45-winx64

android移动开发的几种方式,移动端之Android开发的几种方式的初步体验-程序员宅基地

目前愈来愈多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得:react开发方式开发环境是否须要AndroidSDK支持跨平台开发语言&技能MUIWin+HBuilder否是Html5+Css3 JavascriptDeviceOneWin+DeviceOne否是JavaScriptReactNativeWin+AndroidSDK+Node须要是Reac..._安卓是否可以写移动端

苹果推出 SwiftUI,网友说像谷歌的 Flutter-程序员宅基地

(给程序员的那些事加星标)转自:iOS大全北京时间 6 月 4 日凌晨WWDC 2019 大会上,苹果软件工程高级副总裁 Craig Federighi 在压轴环节介绍..._swiftui类似flutter

LightOJ 1296 Again Stone Game(SG函数)-程序员宅基地

Alice and Bob are playing a stone game. Initially there are n piles of stones and each pile contains some stone. Alice stars the game and they alternate moves. In each move, a player has to select any...

COLORBOX常用的属性-程序员宅基地

1,flash覆盖colorbox:2,colorbox在ie中的位置和行为异常:3,colorbox的位置和行为异常(不区分浏览器):4,用colorbox显示外部文档时显示不正确:5,在ie中colorbox的边框不显示:6,尝试载入外部页面却获得”Request unsuccessful”的报错信息7,如何通过rel属性关闭colorbox的群组功能8,JavaScript/jQuery 在colorbo