- •Лекция: Введение в 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(строка)
Decode(зашифрованная_строка, строка_пароля)
Расшифровывает строку зашифрованная_строка, используя значение строка_пароля в качестве пароля. Аргументзашифрованная_строка должен быть строкой, ранее возвращенной функцией ENCODE().
Encode(строка, строка_пароля)
Шифрует строку строка, используя значение строка_пароля в качестве пароля. Для расшифровки результата применяется функция DECODE(). Результатом является бинарная строка той же длины, что и строка. Если нужно сохранить ее в столбце, применяйте тип BLOB.
Des_decrypt(зашифрованная_строка [, строка_ключа])
Расшифровывает строку зашифрованная_строка, зашифрованную с помощью DES_ENCRYPT(). В случае ошибки возвращает NULL. Следует отметить, что эта функция работает, только если MySQL настроен на поддержку SSL. Если не указан аргумент строка_ключа, DES_DECRYPT() проверяет первый байт зашифрованной строки для определения номера DES-ключа, использованного при шифровании исходной строки, а затем читает ключ из файла DES-ключей для расшифровки сообщения. Чтобы это работало, пользователь должен иметь привилегию SUPER. Файл ключей может быть указан с помощью опции сервера --des-key-file.
Если вы передаете этой функции аргумент строка_ключа, он используется в качестве ключа при расшифровке сообщения.
Если аргумент зашифрованная_строка не выглядит как зашифрованная строка, MySQL вернет строкузашифрованная_строка без изменений.
DES_ENCRYPT(строка[, (номер_ключа | строка_ключа)]) Шифрует строку с помощью заданного ключа, используя тройной DES-алгоритм. В случае ошибки возвращает NULL. Следует отметить, что эта функция работает, только если MySQL настроен на поддержку SSL. Ключ шифрования выбирается на базе второго аргументаDES_ENCRYPT(). Если таковой указан, то берётся первый ключ из используемого файла DES-ключей. Если задан номер_ключа, то он берётся из используемого файла DES-ключей. Если задана строка_ключа, то она используется в качестве ключа для шифрования. Имя файла ключей указывается в опции сервера --des-key-file. Длина строки результата рассчитывается как новая_длина = оригинальная_длина + (8 – (оригинальная_длина % 8)) + 1. Каждая строка в файле DES-ключей имеет следующий формат: номер_ключа строка_ключа_des. Каждый номер_ключа должен быть числом в диапазоне от 0 до 9. Строки в файле могут следовать в любом порядке. строка_ключа_des - это строка, которая будет использоваться для шифрования сообщения. Между номером и ключом должен быть, по меньшей мере, один пробел. Первый ключ является ключом по умолчанию, который применяется в случае, если не указан аргумент строка_ключа в функции DES_ENCRYPT(). Можно указать MySQL на необходимость чтения новых значений ключа из файла ключей с помощью оператораFLUSH DES_KEY_FILE. Это требует наличия привилегии RELOAD. Одна выгода от наличия набора ключей по умолчанию состоит в том, что это дает возможность приложениям проверить наличие зашифрованных значений столбцов, без необходимости предоставления конечному пользователю прав непосредственного доступа к ключам. mysql> SELECT customer_address FROM customer_table WHERE -> crypted_credit_card = DES_ENCRYPT('credit_card_number'); ENCRYPT(строка [, нач]) Шифрует строку строка, используя системный вызов Unix crypt(). Необязательный аргумент нач должен быть строкой из не менее двух символов. Если аргумент нач отсутствует, то будет использовано случайное значение Unix crypt(). mysql> SELECT ENCRYPT('hello'); -> 'VxuFAJXVARROc' ENCRYPT() игнорирует все, кроме первых восьми символов аргумента строка. Это поведение определяется реализацией лежащего в основе системного вызова crypt(). Если функция crypt() не доступна в вашей системе, ENCRYPT() всегда возвращает NULL. По этой причине следует всегда применять вместо этой функции MD5(), поскольку эта функция представлена на всех платформах. MD5(строка) Вычисляет 128-разрядную контрольную сумму MD5 для аргумента строка. Значение возвращается в виде 32-разрядной шестнадцатеричной строки или же NULL, если аргумент равен NULL. Возвращаемое значение может быть использовано, например, в качестве хэш-ключа. mysql> SELECT MD5('testing'); -> 'ae2blfca515949e5d54fb22b8ed95575' PASSWORD(строка) Вычисляет и возвращает строку пароля по значению пароля строка, заданному простым текстом. Эта функция применяется для шифрования паролей, сохраняемых в столбце Password таблицы привилегий user. mysql> SELECT PASSWORD('badpwd'); -> '7f84554057dd964b' Шифрование функцией PASSWORD() является однонаправленным (то есть необратимым). Примечание: функция PASSWORD() используется системой аутентификации сервера MySQL, которая не должна быть задействованной в ваших собственных приложениях. Для этой цели вместо нее применяйте функции MD5() иSHA1(). |
|
|