MD5函数
语法如下:
md5(str)
对字符串str使用md5算法进行加密,返回32位的16进制密文。通常用于对用户密码进行加密。
【示例】对字符串’sql.wang’进行加密:
mysql> select md5('sql.wang'); +----------------------------------+ | md5('sql.wang') | +----------------------------------+ | 61d4ecbd57c6dfcef0ea53a3f696b1e4 | +----------------------------------+ 1 row in set (0.00 sec)
SHA函数
语法如下:
sha(str)
对字符串str使用sha算法进行加密,返回40位的16进制密文。
【示例】对字符串’sql.wang’进行加密:
mysql> select sha('sql.wang'); +------------------------------------------+ | sha('sql.wang') | +------------------------------------------+ | d61ccc2d9697353daa2c2058ce02043e651d77bf | +------------------------------------------+ 1 row in set (0.00 sec)
SHA2函数
语法如下:
sha2(str,hash_length)
使用hash_length作为长度,对字符串str使用sha2算法进行加密。不同的hash_length,返回的密文长度不同。hash_length的取值有0、224、256(与0等价)、384、512。
【示例】对字符串’sql.wang’进行加密:
mysql> select sha2('sql.wang',0); +------------------------------------------------------------------+ | sha2('sql.wang',0) | +------------------------------------------------------------------+ | 57647b3dcf8c15e6e565c489ade1531942a9c3701ac58c95ca4265a945ef4457 | +------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> select sha2('sql.wang',256); +------------------------------------------------------------------+ | sha2('sql.wang',256) | +------------------------------------------------------------------+ | 57647b3dcf8c15e6e565c489ade1531942a9c3701ac58c95ca4265a945ef4457 | +------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> select sha2('sql.wang',512); +----------------------------------------------------------------------------------------------------------------------------------+ | sha2('sql.wang',512) | +----------------------------------------------------------------------------------------------------------------------------------+ | 82c8fbc3cb740e147c32b4e5e50bd17730a36a6f4944140ada8adf3bede71e119ad6533a37a7f94955d731a538ddfdf600fc22669949996c2cc8456a31365626 | +----------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
GET_LOCK函数
语法如下:
get_lock(str,timeout)
设置一个名字为str的锁,超时时间为time秒。
【示例】设置一个名字为’sql.wang’的锁:
mysql> select get_lock('sql.wang',600); +--------------------------+ | get_lock('sql.wang',600) | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec)
IS_USED_LOCK函数
语法如下:
is_used_lock(str)
检查名字为str的锁是否正在被使用。若正在被使用,返回使用该锁的连接ID;否则,返回NULL。
【示例】检查名字为’sql.wang’的锁是否正在被使用:
mysql> select is_used_lock('sql.wang'); +--------------------------+ | is_used_lock('sql.wang') | +--------------------------+ | 13 | +--------------------------+ 1 row in set (0.00 sec)
IS_FREE_LOCK函数
语法如下:
is_free_lock(str)
检查名字为str的锁是否被释放。若锁已经被释放,返回1;若未被释放,返回0。
【示例】检查名字为’sql.wang’的锁是否已被释放:
mysql> select is_free_lock('sql.wang'); +--------------------------+ | is_free_lock('sql.wang') | +--------------------------+ | 0 | +--------------------------+ 1 row in set (0.00 sec)
RELEASE_LOCK函数
语法如下:
release_lock(str)
释放名字为str的锁。若释放成功,返回1;若锁不存在,返回NULL。
【示例】设置一个名字为’sql.wang’的锁:
mysql> select release_lock('sql.wang'); +--------------------------+ | release_lock('sql.wang') | +--------------------------+ | 1 | +--------------------------+ 1 row in set (0.00 sec) mysql> select release_lock('sql.wang'); +--------------------------+ | release_lock('sql.wang') | +--------------------------+ | NULL | +--------------------------+ 1 row in set (0.00 sec)
本站所有内容均为原创,本站保留所有权利。仅允许非商业用途的转载,但必须注明来源网站、作者、来源链接!否则,由此造成的一切后果,由转载方承担!
干货分享、技术提升、面试笔试、学习交流,欢迎关注公众号:xuesql。QQ学习交流群:209942678。