- •Лабораторные работы 1,2.
- •1. 1. Основные характеристики субд MySql.
- •1.2. Установка MySql
- •Проверка исходных требований
- •Выбор версии
- •1.4.Основные команды создания баз данных, основы работы с таблицами
- •Создание базы данных в Windows
- •Удаление баз данных.
- •1. 5. Типы данных столбцов
- •Требования к памяти для символьных типов приведены в таблице.
- •2.1. Запись данных в таблицы
- •В системе Windows
- •2.2. Запрос данных из таблицы MySql select
- •Выборка данных с помощью условий
- •Операторы больше и меньше
- •Поиск текстовых данных по шаблону с помощью предложения where и оператора like.
- •2.3. Логические операторы
- •Операторы in и between
- •2.4 Команды обработки данных: поиск максимального, минимального и среднего значений, нахождение суммы и количества записей Поиск минимального и максимального значений
- •Именование столбцов as
- •Подсчет числа записей
- •Предложения group by и having
- •Удаление записей из таблицы
- •Упорядочивание данных order by
- •Ограничение количества извлекаемых данных
- •Ключевое слово distinct
- •Вложенные запросы
- •Изменение записей update
- •3.1. Математические функции MySql
- •3.2.Работа с датой и временем
- •3.3. Работа со строками
- •Insert(строка, позиция, длина, новая_строка)
- •Instr(строка, подстрока)
- •Функции сравнения строк
- •3.4. Дополнительные функции MySql
- •Битовые функции
- •Прочие функции
- •3.3.4.9 Использование нескольких таблиц
- •3.3.4.6 Работа с значениями null
- •3.3.4.9 Использование нескольких таблиц
- •Делаем дамп (бэкап) базы данных, используя утилиту mysqldump
Функции сравнения строк
Обычно если любое выражение в сравнении строк чувствительно к регистру, то сравнение также чувствительно к регистру.
выражение LIKE шаблон [ESCAPE 'символ-отмены']
Проверка на соответствие шаблону, заданному простыми регулярными выражениями SQL. Возвращает 1 (TRUE) или 0 (FALSE). Если выражение или шаблон равны NULL, возвращает NULL.
В шаблонах LIKE можно использовать следующие два символа:
"%" – соответствие любому числу символов, включая нуль символов.
"_" – соответствие любому одному символу.
Примеры:
mysql> SELECT 'David!' LIKE 'David_';
-> 1
mysql> SELECT 'David!' LIKE '%D%v%';
-> 1
Если требуется исследовать строку на вхождения в неё шаблонных символов (% или _), то шаблонный символ следует предварить экранирующим символом (ESCAPE). Если экранирующий символ не указан явно, то по умолчанию им считается символ '\':
"\%" – соответствует одному символу '%'
"\_" – соответствует одному символу '_'
Примеры:
mysql> SELECT 'David!' LIKE 'David\_';
-> 0
mysql> SELECT 'David_' LIKE 'David\_';
-> 1
Для указания конкретного экранирующего символа используется выражение ESCAPE:
mysql> SELECT 'David_' LIKE 'David|_' ESCAPE '|';
-> 1
В следующих двух примерах показано, что сравнение строк производится без учета регистра, если ни один из операндов не является строкой с двоичными данными:
mysql> SELECT 'abc' LIKE 'ABC';
-> 1
mysql> SELECT 'abc' LIKE BINARY 'ABC';
-> 0
В функции LIKE допускаются числовые выражения.
mysql> SELECT 10 LIKE '1%';
-> 1
expr REGEXP pat; expr RLIKE pat
Выполняет сравнение строкового выражения expr с шаблоном pat. Шаблон может представлять собой расширенное регулярное выражение. Возвращает 1, если expr соответствует pat, в противном случае - 0.
Примеры:
mysql> SELECT 'Monty!' REGEXP 'm%y%%';
-> 0
mysql> SELECT 'Monty!' REGEXP '.*';
-> 1
mysql> SELECT 'new*\n*line' REGEXP 'new\\*.\\*line';
-> 1
mysql> SELECT "a" REGEXP "A", "a" REGEXP BINARY "A";
-> 1 0
mysql> SELECT "a" REGEXP "^[a-d]";
-> 1
STRCMP(expr1,expr2)
Функция STRCMP() возвращает: 0, если строки идентичны, -1 - если первый аргумент меньше второго (в соответствии с имеющимся порядком сортировки), и 1 - в остальных случаях:
Примеры:
mysql> SELECT STRCMP('text', 'text2');
-> -1
mysql> SELECT STRCMP('text2', 'text');
-> 1
mysql> SELECT STRCMP('text', 'text');
-> 0
3.4. Дополнительные функции MySql
Рассмотрим битовые функции, информационные команды и некоторые вспомогательные команды MySql.
Битовые функции
MySQL использует для двоичных операций 64-битовые величины BIGINT, следовательно, для двоичных операторов максимальный диапазон составляет 64 бита.
Побитовое ИЛИ ( | )
mysql> SELECT 29 | 15;
-> 31
Побитовое И ( & )
mysql> SELECT 29 & 15;
-> 13
Побитовый XOR (побитовое сложение по модулю 2) ( ^ )
mysql> SELECT 1 ^ 1;
-> 0
mysql> SELECT 1 ^ 0;
-> 1
mysql> SELECT 11 ^ 3;
-> 8
Сдвиг числа влево ( << )
mysql> SELECT 1 << 2;
-> 4
Сдвиг числа вправо ( >> )
mysql> SELECT 4 >> 2;
-> 1
Инвертировать биты ( ~ )
mysql> SELECT 5 & ~1;
-> 4
BIT_COUNT(N)
Возвращает количество битов аргумента N, которые установлены в единицу
mysql> SELECT BIT_COUNT(29);
-> 4
