Другие функции.
1) DATABASE() – название текущей базы данных. Если в текущий момент времени активной базы данных нет, возвращается пустая строка. Например, mysql> SELECT DATABASE(); >> “TestBD” 2) USER(), SYSTEM_USER(), SESSION_USER() – имя текущего активного пользователя MySQL. Например, mysql> SELECT USER(); >> “yanchenko@localhost”. Для более поздних версий MySQL эта функция выводит не только имя пользователя, но и имя хоста клиента. Чтобы выделить часть, содержащую только имя пользователя, можно воспользоваться следующим способом: mysql> SELECT SUBSTRING_INDEX(USER(),"@",1); >> “yanchenko”. 3) PASSWORD(argument) – создаёт пароль из простого текста, содержащегося в аргументе argument. Для шифрования паролей MySQL, хранящихся в столбце Password таблицы привилегий user, используется именно эта функция. Шифрование, выполняющееся функцией PASSWORD(), необратимо. Поскольку способ шифрования, используемый функцией PASSWORD(), отличается от способа шифрования паролей в Unix, то одинаковые строки паролей для Unix и для MySQL могут иметь различные зашифрованные значения. 4) ENCODE(argument, password) – шифрует строку argument, используя password как пароль. Результат шифрования представляет собой двоичную строку. Чтобы хранить результат в столбце следует использовать столбец типа BLOB. Для расшифровки результата используется функция DECODE(). 5) DECODE(crypt_argument, password) – расшифровывает строку crypt_argument, используя password как пароль. Первый аргумент – строка, возвращаемая функцией ENCODE(). 6) MD5(argument) – 128-битовая контрольная сумма MD5 для строки argument. Эта величина представляет собой 32-разрядное шестнадцатеричное число и обычно используется как хеш-ключ. 7) SHA1(argument) или SHA(argument) – 160-битовая контрольная сумма SHA1 для строки argument. Эта величина представляет собой 40-разрядное шестнадцатеричное число; обычное применение – в качестве хеш-ключа и как криптографически безопасная функция для сохранения паролей. Если argument равен NULL, функция возвращает значение NULL. Функция SHA() используется как синоним функции SHA1(). 8) AES_ENCRYPT(argument, key_argument) и AES_DECRYPT(argument, key_argument) - шифруют/дешифруют данные по алгоритму AES (Advanced Encryption Standard), применяющему по умолчанию кодирование с 128-битовым ключом. С использованием специального патча к исходному коду функций, длину ключа можно увеличить до 256. Входные аргументы функций могут иметь любую длину. Если хотя бы один аргумент равен NULL, то функции вернут значение NULL. Функция AES_ENCRYPT() используется, например, для хранения данных в зашифрованном виде с помощью модификации запросов: INSERT INTO table_site VALUES (1, AES_ENCRYPT(“information”, ”pass”)); Если хранить ключ в переменной на сервере, то это сделает защиту ещё более высокой, например: SELECT @password:=”pass”; INSERT INTO table_site VALUES (1, AES_ENCRYPT(“information”, @password)); Функции AES – это наиболее надёжно шифрующие функции MySQL. 9) LAST_INSERT_ID([expression]) – последняя автоматически полученная величина, занесённая в столбец вида AUTO_INCREMENT. Если значение аргумента expression задано, то оно будет установлено в качестве величины, которую вернёт функция в следующий раз. 10) FORMAT(argument, decimal) – форматирует число argument, округляя его до decimal десятичных знаков и используя формат вида «#,###,###.##». Например, mysql> SELECT FORMAT(72432.123456, 4); >> “72,432.1235”. 11) VERSION() – строка, содержащая номер версии сервера MySQL. Замечание: добавление к номеру версии части “-log” означает, что на сервере включён режим ведения журналов. 12) CONNECTION_ID() – уникальный идентификатор для текущего соединения. 13) GET_LOCK(argument, wait) – осуществляет блокировку по имени argument с временем ожидания wait (задаётся в секундах). При успешной блокировке возвращается 1, если время ожидания для данной попытки блокировки закончилось, - возвращается 0, если возникла ошибка, - возвращается NULL. Блокировку можно снять выполнением команды RELEASE_LOCK(), перезапуском команды GET_LOCK() или завершением текущего потока. Обычно функцию GET_LOCK() используют для блокировок уровня приложения и блокировок записи. 14) Битовые функции MySQL: | - побитовое ИЛИ, & - побитовое И, << - сдвиг числа BIGINT влево, >> - сдвиг числа BIGINT вправо, ~ - инверсия всех битов, BIT_COUNT(argument) – число битов, в параметре argument.
Вернуться к оглавлениюТип данных используемый в MySQL. Создать базу данных CREATE DATABASE. Добавить данные в таблицу INSERT. Извлечение данных из таблицы SELECT. Удалить таблицу DROP TABLE. Создать таблицу CREATE TABLE. Обновить данные UPDATE. Удалить данные из таблицы DELETE. Изменить структуру таблицы ALTER TABLE. Операторы и функции общего назначения. Неявное и явное приведение типов в MySQL. Функции даты и времени. Строковые функции. Числовые функции и операции. Функции сравнения строк. Переменные пользователя. Идентификаторы. Команды управления транзакциями и блокировками. Другие функции. Функции для GROUP BY. Основные команды пользовательских программ MySQL. Литералы. Комментарии. Полнотекстовый поиск в MySQL. Полнотекстовый поиск в MySQL_Настройки и ограничения. Основные принципы ввода команд.
|