1. Веллинг Л., Томсон Л. MySQL: Учебное пособие: Пер. с англ. – М.: Изд. Дом «Вильямс», 2005. – 304 с.
2. Малков О. Б., Белимова Е. В. Проектирование баз данных с использованием CASE-технологии: Метод. указания. – Омск: Изд-во ОмГТУ, 2003. – 48 с.
3. Малков О.Б., Гегечкори Е.Т. Базы данных: Методические указания к выполнению лабораторных работ. – Омск: Изд-во ОмГТУ, 2007. – 112 с.
4. Самоучитель MySQL 5 / М. В. Кузнецов, И. В. Симдянов – СПб: БХВ-Петербург, 2007. – 560 с.
5. MySQL. Справочник по языку: Пер. с англ. – М.: Издательский дом «Вильямс», 2005. – 432 с.
Приложения
Приложение 1. Основные математические функции MySQL
Обозначение | Описание |
ABS(X) | Возвращает абсолютное значение аргумента X |
ACOS(X) | Возвращает арккосинус аргумента Х или NULL, если значение X не находится в диапазоне от -1 до 1 |
ASIN(X) | Возвращает арксинус аргумента Х или NULL, если значение X не находится в диапазоне от -1 до 1 |
ATAN(X) | Возвращает арктангенс аргумента Х |
CEIL(X) | Принимает дробный аргумент Х и возвращает первое целое число, находящееся справа от аргумента |
COS(X) | Вычисляет косинус угла X, заданного в радианах |
COT(X) | Вычисляет котангенс угла X, заданного в радианах |
DEGREES(X) | Возвращает значение угла X, преобразованное из радиан в градусы |
EXP(X) | Вычисляет значение ex |
FLOOR(X) | Принимает дробный аргумент Х и возвращает первое целое число, находящееся слева от аргумента |
LN(X) | Вычисляет натуральный логарифм числа X |
LOG2(X) | Вычисляет логарифм числа X по основанию 2 |
LOG10(X) | Вычисляет десятичный логарифм числа X |
MOD(M,N) | Возвращает остаток от деления целого числа M на целое число N |
PI() | Используется без аргументов. Возвращает число π |
POW(X,Y) | Возвращает значение числа X, возведенного в степень Y |
RADIANS(X) | Возвращает значение угла X, преобразованное из градусов в радианы |
RAND(X) | Возвращает случайное значение с плавающей точкой в диапазоне от 0.0 до 1.0 |
ROUND(X) | Возвращает округленное до ближайшего целого значение числа X |
SIGN(X) | Позволяет определить знак числа X. Возвращает -1, 0 или 1, если X отрицательно, равно нулю или положительно |
SIN(X) | Вычисляет синус угла X, заданного в радианах |
SQRT(X) | Вычисляет квадратный корень числа X |
TAN(X) | Вычисляет тангенс угла X, заданного в радианах |
TRUNCATE (X,D) | Возвращает число X с дробной частью, имеющей D знаков после запятой. Если количество знаков в X больше D, лишние разряды усекаются. Если меньше, то в конец числа добавляются нули |
Приложение 2. Основные строковые функции MySQL
Обозначение | Описание |
ASCII(str) | Возвращает значение ASCII-кода первого символа строки str. Для пустой строки возвращается значение 0 |
BIN(N) | Принимает десятичное число N и возвращает его двоичное представление |
BIT_LENGTH(str) | Принимает строку str и возвращает ее длину в битах |
CHAR(N1, N2, …) | Принимает последовательность из ASCII-кодов и возвращает строку, построенную путем объединения соответствующих им символов |
CHAR_LENGTH(str) | Принимает строку str и возвращает число символов в строке |
CHARSET(str) | Возвращает имя кодировки, в которой представлена строка |
COLLATION(str) | Возвращает порядок сортировки, установленный для кодировки аргумента str |
CONCAT(str1, str2, …) | Возвращает строку, созданную путем объединения всех аргументов, количество которых не ограничено. Если хотя бы один аргумент равен NULL, то возвращается значение NULL |
CONCAT_WS(separator, str1, str2, …) | Также объединяет аргументы str1, str2 и т.д., помещая между ними разделитель separator |
CONV(N, from_base, to_base) | Преобразует число N из одной системы счисления from_base в другую to_base. Параметры from_base и to_base могут принимать значения от 2 до 36 |
ELT(N, str1, str2, …) | Возвращает N- ю строку из списка аргументов str1, str2, … (для N =1 возвращается str1, для N =2 – str2 и т.д.) |
FIELD(str, str1, str2, …) | Находит строку str в списке str1, str2, … и возвращает номерстроки в этом списке (нумерация начинается с 1) |
FIND_IN_SET(str, str_list) | Ищет вхождение строки str в список str_list и возвращает номерстроки в этом списке (нумерация начинается с 1). Параметр str_list – набор строк, разделенных запятыми |
HEX(N_or_S) | Возвращает значение аргумента в виде шестнадцатеричного числа. Аргумент может быть как числом, так и строкой. Во втором случае функция переводит в шестнадцатеричное представление каждый символ строки и объединяет результат |
INSERT(str, pos, len, new_str) | Возвращает строку str, в которой подстрока, начинающаяся с позиции pos и имеющая длину len символов, заменена подстрокой new_str |
INSTR(str, substr) | Возвращает позицию первого вхождения подстроки substr в строку str |
LEFT(str, len) | Возвращает len крайних левых символов строки str |
LENGTH(str) | Возвращает длину строки str |
LOCATE(substr, str [, pos]) | Возвращает позицию первого вхождения подстроки substr в строку str. При наличии необязательного аргумента pos поиск начинается с позиции, указанной в этом аргументе |
LOWER(str) | Возвращает строку str, записанную строчными символами |
LPAD(str, len, padstr) | Возвращает строку str, дополненную слева строкой padstr до длины len символов. Если строка содержит более len символов, то она усекается до len |
LTRIM(str) | Возвращает строку str, в которой удалены все начальные пробелы |
MID(str, pos [, len]) | Возвращает подстроку строки str, которая начинается с позиции pos и имеет длину len символов. Если параметр len не указывается, то подстрока возвращается, начиная с позиции pos и до конца строки str |
OCT(N) | Принимает десятичное число N и возвращает его в восьмеричной системе счисления |
ORD(str) | Возвращает значение ASCII-кода первого символа строки str. В отличие от функции ASCII() корректно работает с многобайтными кодировками |
REPEAT(str, count) | Возвращает строку, полученную из count повторений строки str |
REPLACE(str, from_str, to_str) | Возвращает строку str, в которой все подстроки from_str заменены to_str |
REVERSE(str) | Возвращает строку str, записанную в обратном порядке |
RIGHT(str, len) | Возвращает len крайних правых символов строки str, или всю строку, если аргумент len равен NULL или меньше 1 |
RPAD(str, len, padstr) | Возвращает строку str, дополненную справа строкой padstr до длины len символов |
RTRIM(str) | Возвращает строку str, в которой удалены все конечные пробелы |
SPACE(N) | Возвращает строку, состоящую из N пробелов, или пустую строку, если N имеет отрицательное значение |
SUBSTRING_INDEX(str, delim, N) | Возвращает подстроку строки str. Если параметр N имеет положительное значение, то функция находит N -е вхождение (отсчет слева) подстроки delim в строку str и возвращает всю часть строки, расположенную слева от подстроки delim. Если N имеет отрицательное значение, то функция находит N -е вхождение (отсчет справа) подстроки delim в строку str и возвращает часть строки, расположенную справа от подстроки delim |
TRIM([[BOTH | LEADING | TRAILING ] [remstr] FROM ] str) | Удаляет из строки str расположенные в начале (в конце) символы, указанные в строке remstr. Если указано ключевое слово LEADING, удаляются расположенные в начале символы, если TRAILING – в конце, если BOTH – и в начале и в конце. Если ключевые слова не заданы, по умолчанию принимается BOTH. Если строка remstr не задана, то в качестве удаляемых символов выступают пробелы |
UNHEX(str) | Является обратной функции HEX() и интерпретирует каждую пару символов строки str как шестнадцатеричный код, который необходимо преобразовать в символ |
UPPER(str) | Переводит все символы строки str в верхний регистр |
Приложение 3. Основные функции даты и времени MySQL
Обозначение | Описание |
ADDDATE(date, INTERVAL expr type) | Возвращает дату date, к которой прибавлен временной интервал, определяемый вторым параметром. Например, ADDDATE(‘2009-03-20’, INTERVAL 10 day) |
ADDTIME(expr1, expr2) | Возвращает результат сложения двух временных значений |
CURDATE() | Возвращает текущую дату в формате ‘YYYY-MM-DD’ |
CURTIME() | Возвращает текущее время суток в формате ‘hh:mm:ss’ |
DATE(datetime) | Извлекает из значения datetime дату, отсекая часы, минуты и секунды |
DATEDIFF(begin, end) | Вычисляет разницу в днях между датами begin и end |
DATE_FORMAT(date, format) | Форматирует время date в соответствии со строкой format |
DAY(date) | Возвращает порядковый номер дня в месяце (от 1 до 31) |
DAYNAME(date) | Возвращает день недели в виде полного английского названия |
DAYOFWEEK(date) | Возвращает порядковый номер дня недели. В западных странах неделя начинается с воскресенья, номер которого1. |
DAYOFYEAR(date) | Возвращает порядковый номер дня в году (от 1 до 366) |
EXTRACT(type FROM datetime) | Принимает дату и время суток и возвращает часть, определяемую параметром type. Например, EXTRACT(YEAR FROM ‘2009-12-31 14:30:15’) |
FROM_DAYS(N) | Принимает число дней N, прошедших с нулевого года, и возвращает дату в формате ‘YYYY-MM-DD’. Обычно используется совместно с функцией TO_DAYS(date) |
HOUR(datetime) | Извлекает из значения datetime часы (от 0 до 23) |
LAST_DAY(datetime) | Принимает дату и время суток и возвращает дату – последний день текущего месяца |
MAKEDATE(year, dayofyear) | Принимает год year и номер дня в году dayofyear и возвращает дату в формате ‘YYYY-MM-DD’ |
MAKETIME(hour, minute, second) | Принимает час hour, минуты minute и секунды second и возвращает время суток в формате ‘hh:mm:ss’ |
MINUTE(datetime) | Извлекает из значения datetime минуты (от 0 до 59) |
MONTH(datetime) | Возвращает числовое значение месяца года (от 1 до 12) |
MONTHNAME(datetime) | Возвращает название месяца в виде полного английского названия |
NOW() | Возвращает текущую дату и время в формате ‘YYYY-MM-DD hh:mm:ss’ |
PERIOD_ADD(period, N) | Добавляет N месяцев к значению даты period. Аргумент period должен быть представлен в числовом формате YYYYMMDD или YYMM |
Основные функции даты и времени MySQL (продолжение)
Обозначение | Описание |
PERIOD_DIFF(period1, period2) | Вычисляет разницу в месяцах между двумя датами, представленными в числовом формате YYYYMMDD или YYMM |
QUARTER(datetime) | Возвращает значение квартала года (от 1 до 4) |
SECOND(datetime) | Извлекает из значения datetime секунды (от 0 до 59) |
SUBDATE(date, INTERVAL expr type) | Возвращает дату date, из которой вычитается временной интервал, определяемый вторым параметром. Например, SUBDATE(‘2009-05-15’, INTERVAL 5 day) |
SUBTIME(datetime, time) | Вычитает из величины datetime время time |
TIME(datetime) | Извлекает из значения datetime время суток |
TIMEDIFF(expr1, expr2) | Возвращает разницу между временными значениями expr1 и expr2 |
TIMESTAMP(date, time) | Принимает в качестве аргумента дату date ивремя time и возвращает полный вариант в формате ‘YYYY-MM-DD hh:mm:ss’ |
TIMESTAMPADD(interval, int_expr, datetime_expr) | Прибавляет к дате и времени суток datetime_expr временной интервал int_expr, единицы измерения которого задаются параметром interval. Например, TIMESTAMPADD(WEEK, 1, ‘2009-09-02’) |
TIMESTAMPDIFF(interval, datetime_expr1, datetime_expr2) | Возвращает разницу между двумя датами datetime_expr1 и datetime_expr1. Единицы измерения интервала задаются параметром interval. Например, TIMESTAMPDIFF(MONTH, ‘2005-02-01’, ‘2005-05-01’) |
TO_DAYS(date) | Принимает дату date и возвращает число дней N, прошедших с нулевого года |
WEEK(date) | Возвращает номер недели в году (от 0 до 53) для даты date. Предполагается, что неделя начинается с воскресенья |
WEEKDAY(date) | Возвращает номер дня недели (0 – для понедельника, 1 – для вторника, 6 – для воскресенья) для даты date |
YEAR(datetime) | Возвращает год из значения datetime |
YEARWEEK(date) | Возвращает число в формате YYYYWW, представляющее год и номер недели (от 0 до 53) в году и соответствующее дате date |