- •Концепции баз данных Системы управления файлами
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •Объектно-ориентированные базы данных
- •Объектно-реляционные базы данных
- •Инсталляция с помощью менеджера пакетов RedHat Linux
- •Загрузка MySql
- •Проверка исходных требований
- •Выбор версии
- •Инсталляция в 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(строка [, нач])
- •Информационные функции benchmark(количество, выражение)
- •Charset(строка)
- •Coercibility(строка)
- •Collation(строка)
- •Md5(строка)
- •Password(строка)
- •Last_insert_id(выражение)
- •Прочие функции
- •Get_lock(строка, таймаут)
- •Inet_aton(выражение)
- •Inet_ntoa(выражение)
- •Is_free_lock(строка)
- •Master_pos_wait(имя_журнала, позиция_в_журнале [, таймаут])
- •Release_lock(строка)
- •Вывод данных из базы данных
- •Создаем ссылки на лету
- •Сохранение данных в базе данных
Строковые функции
В этой лекции рассмотрим команды MySql, предназначенные для обработки строковых данных.
Ascii(строка) ord(строка)
Возвращает числовое значение первого символа строки строка. Возвращает 0, если строка является пустой. Возвращает NULL, если строка равна NULL. ASCII() работает с символами в диапазоне кодов от 0 до 255.
mysql> SELECT ASCII('2');
-> 50
mysql> SELECT ASCII(2);
-> 50
mysql> SELECT ASCII('dx');
-> 100
BIN(N)
Возвращает строковое представление двоичного значения N, где N - длинное целое ( BIGINT ). Это эквивалентно CONV(N, 10,2). Возвращает NULL, если N равно NULL.
mysql> SELECT BIN(12);
-> '1100'
ВIT_LENGTH(строка)
Возвращает длину строки строка в битах.
mysql> SELECT BIT_LENGTH('text');
-> 32
CHAR(iV,...)
Интерпретирует аргументы как целые и возвращает строку, состоящую из символов с кодами, заданными этими целыми. ЗначениеNULL пропускаются.
mysql> SELECT CHAR(77,121,83,81,'76');
-> 'MySQL'
mysql > SELECT CHAR(77,77.3,'77.3');
-> 'МММ'
CHAR_LENGTH(строка)
CHARACTER_LENGTH(строка)
Возвращает длину строки строка, измеренную в символах. Многобайтные символы считаются как один. Это значит, что для строки, состоящей из пяти двухбайтных символов, LENGTH() вернет 10, в то время как CHAR_LENGTH('') вернет 5.
COMPRESS(строка_для_сжатия)
Сжимает строку. Эта функция требует, чтобы MySQL был скомпилирован с библиотекой поддержки сжатия, такой как zlib. В противном случае возвращаемым значением всегда будет NULL.
Содержимое сжатой строки сохраняется следующим образом:
Пустая строка сохраняется как пустая строка.
Непустая строка сохраняется как четырехбайтовая длина несжатой строки (младший байт идет первым), за которой следует сжатая строка. Если строка завершается пробелом, добавляется дополнительный символ ' . ' во избежание усечения завершающих пробелов, которое имеет место при сохранении в столбцах CHAR или VARCHAR. (Использовать для сохранения сжатых строк столбцы CHAR или VARCHAR не рекомендуется. Взамен лучше применять столбцы BLOB ).
Concat(строка1, строка2, ...)
Возвращает строку, которая состоит из сцепленных аргументов. Возвращает NULL, если любой из аргументов равен NULL. Принимает один или более аргументов. Числовой аргумент преобразуется в эквивалентную строковую форму.
mysql> SELECT CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
-> NULL
mysql> SELECT CONCAT(14.3);
-> '14.3'
Concat_ws(разделитель, строка1, строка2, ...)
CONCAT_WS означает "Concat With Separator" ("CONCAT с разделителем") и представляет собой особую форму CONCAT().Первый аргумент - это разделитель для остальных аргументов. Разделитель добавляется между соединяемыми строками. Разделитель может быть строкой, как и остальные аргументы. Если разделитель равен NULL, результат тоже равен NULL. Функция пропускает любые аргументы NULL после разделителя.
mysql> SELECT CONCAT_WS( ',', 'First name', 'Second name' , 'Last Name');
-> 'First name,Second name,Last Name'
Conv(n, основание_начальное, основание_конечное)
Конвертирует числа между разными системами счисления. Возвращает строковое представление числа N, преобразованное из системы счисления с основанием основание_начальное в систему счисления с основанием основание_конечное. ВозвращаетNULL, если любой из аргументов равен NULL. Аргумент N интерпретируется как целое, но может указываться и как целое, и как строка. Минимальное основание системы счисления - 2, максимальное - 36. Если значение основание_конечноеотрицательное, N рассматривается как целое со знаком. В противном случае N считается беззнаковым целым. CONV()работает с 64-разрядной точностью.
mysql> SELECT CONV('а',16,2);
-> '1010'
mysql> SELECT CONV('6E',18,8);
-> '172'
mysql> SELECT CONV(-17,10,-18);
-> '-H'
mysql> SELECT CONV(10+'10'+'10'+0xa,10,10);
-> '40'
