11 популярных функций MySQL

В MySQL начиная с версии 5.0 поддерживаются встроенные функции, определённые пользователем функции и хранимые процедуры. Хотя все эти инструменты доступны разработчику, они используются ещё не достаточно активно. В данной статье описываются 11 функций MySQL, которые выполняют часто используемые при разработке проектов операции .
Хэш функции

MySQL поддерживает следующие хэш функции:

MD5(string);

SHA(string);
 	SELECT MD5('area72') as md5,
 	       SHA('area72') as sha
 	 
 	-- OUTPUT: MD5 e82b6069c7e968485f0de6d756d622dd
 	-- OUTPUT: SHA 4feb5546a60f18df755395d1ff39e29a2cab7234

Функции криптографии

Для многих станет открытием, что MySQL поддерживает базовые криптографические функции для алгоритмов AES и DES. Такие функции обеспечивают высокий уровень безопасности, особенно алгоритм AES, и их рекомендуется использовать для улучшения устойчивости приложений ко взлому.

AES_ENCRYPT(string, key) и AES_DECRYPT(string, key);

DES_ENCRYPT(string, key) и DES_DECRYPT(string, key);

ENCODE(string, key) и DECODE(string, key);
 	SELECT AES_DECRYPT(
 	                   AES_ENCRYPT('текст для шифрования', 'ключ'),
 	                  'ключ') as encryption;
 	-- OUTPUT: текст для шифрования

Описание: Запрос выводит ту же самую строку, которую мы отправляли на шифрование, потому что как только произошло шифрование строки, тут же мы производим дешифрование в оригинальный текст.

AES_ENCRYPT() и AES_DECRYPT() представляют собой наиболее устойчивый криптографический алгоритм, который доступен в MySQL.
Функции даты

Некоторые базовые функции работы с датами могут облегчить поиск и сравнение данных:

ADDDATE()

CURDATE()
	SELECT ADDDATE('2010-05-01', 7) as nextweek, CURDATE() as today;
 	SELECT ADDDATE(CURDATE(), 7) as nextweek;
 	 
 	-- OUTPUT: 2010-05-08, 2010-05-01
 	-- OUTPUT: 2010-05-08

В примере функции используются вместе. Второй пример отображает рекомендуемый метод использования.
Функции для работы с текстом

COMPRESS() и UNCOMPRESS()

Хранение длинного текста в вашей базе данных влияет и на производительсноть системы и на требования к объему дискового пространства. Таким образом, рекомендуется сжимать длинный текст с помощью функции compress, а для использования — проводить обратное преобразование с помощью функции uncompress.
 	SELECT LENGTH(COMPRESS(REPEAT('A', 1000000)));
 	-- OUTPUT: ~1000

Как вы видите, 1 миллион символов A ’сжимается в строку размером примерно в 1000 позиций.

REGEXP()

Да! REGEXP доступен в запросах MySQL, в представлении не нуждается.

id name

1 Samsung Widescreen 1080p

2 Geforce GT 8800

3 Mini Tv

4 Audio System

5 HTC PRO 2
 	SELECT id FROM table WHERE name REGEXP '[0-9]';
 	-- OUTPUT: 1, 2, 5

С помощью запроса, описанного выше выделяются id элементов, которые имеют числа в имени. Хотя пример является очень простым, но можно представить возможности использования REGEXP в запросах..
Прочие функции

Данные две функции также не нуждаются в представлении

RAND()

COUNT()
 	SELECT * FROM table ORDER BY RAND();
 	SELECT COUNT(*) FROM table;

Функция RAND() наиболее часто используется для представления результатов выборки из таблицы в случайном порядке, например, для вывода случайных изображений в галерею на веб странице.

Функция COUNT() возвращает общее количество строк в запросе.
Добавлено: 20 Августа 2013 10:09:05 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...