- •Лекция: Введение в MySql Содержание
- •Концепции баз данных Системы управления файлами
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •Объектно-ориентированные базы данных
- •Объектно-реляционные базы данных
- •2. Лекция: Подготовка к работе с MySql Содержание
- •Инсталляция вручную
- •Компиляция программы
- •Предоставление привилегий
- •Лекция: Создание базы данных, основы работы с таблицами
- •Создание базы данных в Windows
- •Создание базы данных в Linux
- •Команда create database
- •Работа с таблицами
- •Использование базы данных
- •Создание таблицы
- •Синтаксис команды create table
- •Удаление таблиц
- •Синтаксис команды drop table
- •Лекция: Типы данных столбцов
- •Числовые типы данных
- •Типы данных даты и времени
- •Типы данных datetime, date и timestamp
- •Тип данных time
- •Тип данных year
- •Лекция: Работа с таблицами. Внесение, извлечение, поиск и удаление данных
- •Запись данных в таблицы
- •Задания
- •Возможные решения
- •Выборка данных с помощью условий
- •Операторы больше и меньше
- •Задания
- •Возможные решения
- •Предложение having
- •Задание
- •Возможное решение
- •Удаление записей из таблицы
- •Лекция: Логические операторы
- •Задания
- •Возможные решения
- •8. Лекция: Математические функции
- •9. Лекция: Работа с датой и временем
- •Особенности типа данных Date
- •Операции с датами
- •10. Лекция: Работа со строками
- •Строковые функции
- •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(строка)
- •Upper(строка) ucase(строка)
- •11. Лекция: Дополнительные функции MySql
- •Битовые функции
- •Побитовое или ( | )
- •Побитовое и ( & )
- •Функции шифрования
- •Aes_encrypt(строка, строка_ключа) aes_decrypt(зашифрованная_строка, строка_ключа)
- •Decode(зашифрованная_строка, строка_пароля)
- •Encode(строка, строка_пароля)
- •Des_decrypt(зашифрованная_строка [, строка_ключа])
- •Информационные функции benchmark(количество, выражение)
- •Charset(строка)
- •Coercibility(строка)
- •Collation(строка)
- •Прочие функции
- •Get_lock(строка, таймаут)
- •Inet_aton(выражение)
- •Inet_ntoa(выражение)
- •Is_free_lock(строка)
- •Master_pos_wait(имя_журнала, позиция_в_журнале [, таймаут])
- •Release_lock(строка)
Substring_index(строка, разделитель, количество)
Возвращает подстроку строки строка до вхождения номер количество разделителя разделитель. Если значение количество положительное, возвращается все, что лежит слева от финального разделителя (считая слева направо). Если значение количество отрицательное, возвращается все, что лежит справа от финального разделителя (считая справа налево).
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
-> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
-> 'mysql.com'
Trim([[both | leading | trailing] [удаляемая_строка] from] строка)
Возвращает строку строка с удаленными префиксами и/или суффиксами удаляемая_строка. Если не указано ниBOTH, ни LEADING, ни TRAILING, подразумевается BOTH. Если не указано удаляемая_строка, удаляются пробелы.
mysql> SELECT TRIM(' bar ');
-> 'bar'
mysql> SELECT TRIM(LEADING 'x' FROM 'xxxbarxxx');
-> 'barxxx'
mysql> SELECT TRIM(BOTH 'x' FROM 'xxxbarxxx');
-> 'bar'
mysql> SELECT TRIM(TRAILING 'xyz' FROM 'barxxyz');
-> 'barx'
Uncompress(строка_для_распаковки)
Распаковывает строку, сжатую функцией COMPRESS(). Если аргумент не является упакованной строкой, возвращается NULL.
mysql> SELECT UNCOMPRESS(COMPRESS('any string'));
-> 'any string'
mysql> SELECT UNCOMPRESS('any string');
-> NULL
Unhex(строка)
Выполняет действие, противоположное функции HEX(строка). То есть, интерпретирует каждую пару шестнадцатеричных цифр аргумента как число и преобразует в символ, представленный этим числом. Символы результата возвращаются в виде бинарной строки.
mysql> SELECT UNHEX('4D7953514C);
-> 'MySQL'
mysql> SELECT 0x4D7953514C;
-> 'MySQL'
mysql> SELECT UNHEX(HEX('string'));
-> 'string'
mysql> SELECT HEX(UNHEX('1267' ) );
-> ' 1267 '
Upper(строка) ucase(строка)
Возвращает строку строка, у которой все символы приведены к верхнему регистру в соответствии с текущим набором символов.
mysql> SELECT UPPER('Неj');
-> 'HEJ'
Функции сравнения строк Обычно если любое выражение в сравнении строк чувствительно к регистру, то сравнение также чувствительно к регистру. выражение 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 |
|
|
|