MySQL - необычные функции
.. точнее, редкоиспользуемые.
Это первая часть. Вторая - тут
USER()
SYSTEM_USER()
SESSION_USER() - Возвращает имя текущего пользователя MySQL:
mysql> select USER();
----------------
| USER() |
----------------
| root@localhost |
----------------
В MySQL версии 3.22.11 и позже, результат включает имя хоста и имя пользователя. Вы можете извлечь часть, например, имя, вот так (пример работает независимо от наличия в значении имени хоста):
mysql> select substring_index(USER(),"@",1);
+-------------------------------+
| substring_index(USER(),"@",1) |
+-------------------------------+
| root |
+-------------------------------+
DATABASE() - Возвращает текущее имя базы:
mysql> select DATABASE();
------------
| DATABASE() |
------------
| exim |
------------
Если база данных не выбрана, DATABASE() возвращает пустое значение (NULL).
PASSWORD(str)
Возвращает строку пароля зашифрованную из текстовой строки “str”.
Это та же функция, что используется для криптования паролей MySQL для хранения в поле “Password” таблицы “user”:
mysql> select PASSWORD('badpwd');
+-------------------------------------------+
| PASSWORD('badpwd') |
+-------------------------------------------+
| *AAB3E285149C0135D51A520E1940DD3263DC008C |
+-------------------------------------------+
PASSWORD() использует необратимое шифрование.
Шифрование PASSWORD() в MySQL отличается от способа шифрования Unix-паролей. Соответственно, не следует ожидать, что если исходные пароли для Unix и MySQL одинаковы, то вы получите одинаковые результаты. См. ENCRYPT().