
- •Концепции баз данных Системы управления файлами
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •Объектно-ориентированные базы данных
- •Объектно-реляционные базы данных
- •Загрузка MySql
- •Проверка исходных требований
- •Выбор версии
- •Инсталляция с помощью менеджера пакетов RedHat Linux
- •Инсталляция в Windows
- •Инсталляция вручную
- •Компиляция программы
- •Предоставление привилегий
- •Создание базы данных в Windows
- •Создание базы данных в Linux
- •Команда create database
- •Работа с таблицами
- •Использование базы данных
- •Создание таблицы
- •Синтаксис команды create table
- •Удаление таблиц
- •Синтаксис команды drop table
- •Числовые типы данных
- •Типы данных даты и времени
- •Типы данных datetime, date и timestamp
- •Тип данных time
- •Тип данных year
- •Символьные типы данных
- •Типы данных char и varchar
- •Типы данных blob и text
- •Тип перечисления enum
- •Тип множества set
- •Выбор правильного типа данных в столбце
- •Требования к памяти для различных типов столбцов
- •Запись данных в таблицы
- •Задания
- •Возможные решения
- •Выборка данных с помощью условий
- •Операторы больше и меньше
- •Задания
- •Возможные решения
- •Поиск текстовых данных по шаблону
- •Задания
- •Возможные решения
- •Предложение having
- •Задание
- •Возможное решение
- •Удаление записей из таблицы
- •Задания
- •Возможные решения
- •Операторы in и between
- •Задания
- •Возможные решения
- •Упорядочивание данных
- •Задания
- •Возможные решения
- •Ограничение количества извлекаемых данных
- •Извлечение подмножеств
- •Задания
- •Возможные решения
- •Ключевое слово distinct
- •Задания
- •Возможные решения
- •Изменение записей
- •Задания
- •Возможные решения
- •Поиск среднего значения и суммы Суммирование значений столбца с помощью функции sum
- •Вычисление среднего значения
- •Задания
- •Возможные решения
- •Работа с датой
- •Особенности типа данных Date
- •Операции с датами
- •Определение диапазонов
- •Строковые функции
- •Ascii(строка) ord(строка)
- •Concat(строка1, строка2, ...)
- •Concat_ws(разделитель, строка1, строка2, ...)
- •Conv(n, основание_начальное, основание_конечное)
- •Elt(n, строка1, строка2, строкаЗ, ...)
- •Field(строка, строка1, строка2, строка3, ...)
- •Find_in_set(строка, список_строк)
- •Substring_index(строка, разделитель, количество)
- •Trim([[both | leading | trailing] [удаляемая_строка] from] строка)
- •Uncompress(строка_для_распаковки)
- •Unhex(строка)
- •Битовые функции
- •Побитовое или ( | )
- •Побитовое и ( & )
- •Функции шифрования
- •Aes_encrypt(строка, строка_ключа) aes_decrypt(зашифрованная_строка, строка_ключа)
- •Decode(зашифрованная_строка, строка_пароля)
- •Encode(строка, строка_пароля)
- •Des_decrypt(зашифрованная_строка [, строка_ключа])
- •Des_encrypt(строка[, (номер_ключа | строка_ключа)])
- •Encrypt(строка [, нач])
- •Md5(строка)
- •Password(строка)
- •Информационные функции benchmark(количество, выражение)
- •Charset(строка)
- •Coercibility(строка)
- •Collation(строка)
- •Last_insert_id(выражение)
- •Прочие функции
- •Get_lock(строка, таймаут)
- •Inet_aton(выражение)
- •Inet_ntoa(выражение)
- •Is_free_lock(строка)
- •Master_pos_wait(имя_журнала, позиция_в_журнале [, таймаут])
- •Release_lock(строка)
- •Вывод данных из базы данных
- •Создаем ссылки на лету
- •Сохранение данных в базе данных
Elt(n, строка1, строка2, строкаЗ, ...)
Возвращает строка1, если N = 1, строка2, если N = 2, и так далее. Возвращает NULL, если N меньше 1 или больше количества аргументов. ELT() - это дополнение FIELD().
mysql> SELECT ELT(1, 'ej', 'Heja', 'hej', 'foo');
-> 'ej'
mysql> SELECT ELT(3, 'ej', 'Heja', 'hej', 'foo');
-> 'hej'
Field(строка, строка1, строка2, строка3, ...)
Возвращает позицию вхождения аргумента строка в список строка1, строка2, строка3, ... Возвращает 0, если вхождение не найдено.
FIELD() - это дополнение ELT().
mysql> SELECT FIELD('еj', 'Hej', 'ej', 'Heja', 'hej1', 'foo');
- > 2
Find_in_set(строка, список_строк)
Возвращает значение от 1 до N, если строка находится в списке строк список_строк, состоящего из N подстрок. Список строк - это строка, состоящая из подстрок, разделенных символом ',' . Возвращает 0, если строка не входит в список строк, или если список_строк — пустая строка.
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
HEX(Ч_или_С)
Если Ч_или_С - число, возвращает строковое представление шестнадцатеричного значения N, где N - длинное целое (BIGINT ). Это эквивалентно CONV(N,10,16).
Если Ч_или_С - строка, то возвращается шестнадцатеричная строка Ч_или_С, в которой каждый символ преобразован в два шестнадцатеричных разряда.
mysql> SELECT HEX(255);
-> 'FF'
mysql> SELECT HEX('abc');
-> '616263'
INSERT(строка, позиция, длина, новая_строка)
Возвращает строку строка, в которой подстрока длиной длина, начинающаяся с позиции позиция, заменяется строкойновая_строка.
mysql> SELECT INSERT('Quadratic', 3, 4, 'What');
-> 'QuWhattic'
INSTR(строка, подстрока)
Возвращает позицию первого вхождения подстроки подстрока в строку строка. Это то же самое, что двухаргументная формаLOCATE(), только аргументы переставлены местами.
mysql> SELECT INSTR('foobarbar', 'bar');
-> 4
mysql> SELECT INSTR('xbar', 'foobar');
-> 0
LEFT(строка, длина)
Возвращает первые длина символов строки строка.
mysql> SELECT LEFT('foobarbar', 5);
-> 'fooba'
LENGTH(строка)
Возвращает длину строки строка в байтах.
mysql> SELECT LENGTH('text');
-> 4
LOAD_FILE(имя_файла)
Читает файл и возвращает его содержимое в виде строки. Файл должен находиться на сервере и к нему должен указываться полный путь. Кроме того, необходимо иметь привилегию FILE. Файл должен быть доступен по чтению всем, и иметь размер менее max_allowed_packet байт.
Если файл не существует или не может быть прочитан, функция возвращает NULL.
LOCATE(подстрока, строка)
LOCATE(подстрока, строка, позиция)
POSITION(подстрока IN строка)
Первый синтаксис возвращает позицию первого вхождения подстроки подстрока в строку строка. Второй синтаксис возвращает позицию первого вхождения подстроки подстрока в строку строка, начиная с позиции позиция. Если подстрока не входит в строку, возвращается 0.
mysql> SELECT LOCATE('bar', 'foobarbar');
-> 4
mysql> SELECT LOCATE('xbar', 'foobar');
-> 0
mysql> SELECT LOCATE('bar', 'foobarbar',5);
-> 7
LOWER(строка)
LCASE(строка)
Возвращает строку строка, в которой все символы приведены к нижнему регистру в соответствии с текущим набором символов.
mysql> SELECT LOWER('QUADRATICALLY');
-> 'quadratically'
LPAD(строка, длина, строка-заполнитель).
Возвращает строку строка, добавив слева строкой строка-заполнитель до длины длина. Если строка длиннее, чем указано в аргументе длина, возвращается значение, усеченное до длина символов.
mysql> SELECT LPAD('hi',4,'*');
-> '**hi'
mysql> SELECT LPAD('hi',1,'*');
-> 'h'
LTRIM(строка)
Возвращает строку строка с удаленными ведущими пробелами.
mysql> SELECT LTRIM(' barbar');
-> 'barbar'
OCT(N)
Возвращает строковое представление восьмеричного значения N, где N - длинное целое.
Это эквивалент CONV(N,10,8).
Возвращает NULL, если N равно NULL.
mysql> SELECT ОСТ(12);
-> '14'
QUOTE(строка)
Заключает строку в кавычки, чтобы результат можно было использовать как допустимое значение в SQL-операторах. Строка окружается одинарными кавычками, а все вхождения в нее одинарной кавычки - обратной косой чертой ("\").
mysql> SELECT QUOTE("Don't");
-> 'Don\'t'
REPEAT(строка, количество)
Возвращает строку, состоящую из аргумента строка, повторенного количество раз.
mysql> SELECT REPEAT('MySQL', 3);
-> 'MySQLMySQLMySQL'
REPLACE(строка, строка_2, строка_3)
Возвращает строку строка, в которой все вхождения строка_2 заменены на строка_3.
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
-> 'WwWwWw.mysql.com'
REVERSE(строка)
Возвращает строку строка с обратным порядком символов.
mysql> SELECT REVERSE('abc');
-> 'cba'
RIGHT(строка, длина)
Возвращает длина правых символов строки строка.
mysql> SELECT RIGHT('foobarbar', 4);
-> 'rbar'
RPAD(строка, длина, строка-заполнитель)
Возвращает строку строка, дополненную справа строкой строка-заполнитель до длины длина. Если строка длиннее, чемдлина, возвращается значение, усеченное до длина символов.
mysql> SELECT RPAD('hi',5,'?');
-> 'hi???'
mysql> SELECT RPAD('hi',1,'?');
-> 'h'
RTRIM(строка)
Возвращает строку строка с удаленными завершающими пробелами.
mysql> SELECT RTRIM('barbar ');
-> 'barbar'
SOUNDEX(строка)
Возвращает строку, описывающую звучание ( soundex ) строки строка. Две строки, которые произносятся почти одинаково, должны иметь идентичные строки звучания.
mysql> SELECT SOUNDEX('Hello');
-> 'H400'
mysql> SELECT SOUNDEX('Quadratically' );
-> 'Q36324'
SPACE(N)
Возвращает строку, состоящую из N пробелов.
mysql> SELECT SPACE(6);
-> ' '
SUBSTRING(строка, позиция)
SUBSTRING(строка FROM позиция)
SUBSTRING(строка, позиция, длина)
SUBSTRING(строка FROM позиция FOR длина)
Формы без аргумента длина возвращают подстроку строки строка, начиная с позиции позиция. Формы с аргументом длинавозвращают подстроку строки строка длиной длина символов, начиная с позиции позиция. Формы, использующие FROM, представляют стандартный синтаксис SQL.
mysql> SELECT SUBSTRING('Quadratically',5);
-> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
-> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);
-> 'ratica'