- •Концепции баз данных Системы управления файлами
- •Иерархические базы данных
- •Сетевые базы данных
- •Реляционные базы данных
- •Объектно-ориентированные базы данных
- •Объектно-реляционные базы данных
- •Инсталляция с помощью менеджера пакетов 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
MySQL можно инсталлировать двумя способами: скомпилировав исходные коды программы или воспользовавшись предварительно скомпилированными двоичными файлами. Первый вариант допускает больше возможностей в плане конфигурации, но более продолжителен. Второй вариант удобнее, так как есть готовые дистрибутивы для многих операционных систем. На текущий момент существуют версии MySQL для FreeBSD, HP-UX, IBM AIX, Linux, Mac OS X, SCO, SGI Irix, Solaris и многих вариантов Microsoft Windows.
Информацию обо всех дистрибутивах можно получить на Web-узле http://www.mysql.com. Там же публикуются последние новости о программе.
Проверка исходных требований
Если инсталлируются двоичные файлы, следует убедиться в том, что система соответствует исходным требованиям программы. Важным моментом является поддержка потоков. При инсталляции в старых версиях некоторых операционных систем MySQL требует наличия отдельной библиотеки потоковых функций POSIX. POSIX — это международный стандарт, определяющий работу системных сервисов, а потоки — это механизм, позволяющий программам выполнять несколько задач одновременно. Современные операционные системы поддерживают стандарт POSIX. Если вы все же не уверены, проверьте в интерактивной документации, будет ли программа MySQL работать в данной версии операционной системы.
Выбор версии
Команда разработчиков MySQL публикует тестовые и стабильные версии дистрибутивов отдельно. Информацию о статусе той или иной версии программы можно найти на Web-узле. Эти же сведения закодированы в названии дистрибутива.
В целом лучше выбирать самую новую версию. Исключение составляют лишь альфа-версии, в которых впервые вводятся новые функциональные возможности. Программа MySQL отвечает самым высоким критериям качества и надежности, поэтому ее бета-версии зачастую вполне сопоставимы с финальными версиями других программ.
Инсталляция с помощью менеджера пакетов RedHat Linux
Если программа MySQL инсталлируется в Linux, то лучше всего воспользоваться модулем RPM (RedHat Packet Manager— менеджер пакетов RedHat). MySQL работает в Linux версий 2.0 и выше. Тестирование программы выполнялось в RedHat 6.2. В программе используется библиотека glibc, подключаемая статически. Если в системе установлена более старая версия библиотеки, программу придется скомпилировать заново.
В таблице 2.1 приведено описание доступных модулей RPM (для последней версии пакета MySQL 4.01.10, на момент создания этого материала)
Таблица 2.1. |
|
MySQL-4.01.10-1.i386.rpm |
Содержит все файлы, необходимые для запуска сервера MySQL, включая клиентские программы. |
MySQL-4.01.10-l.src.rpm |
Содержит все исходные коды MySQL |
MySQL-bench-4.01.10-1.i386.rpm |
Содержит программы, предназначенные для тестирования производительности MySQL. Для запуска тестов необходим основной дистрибутив, а также интерпретатор Perl. |
MySQL-client-4.01.10-1.i386.rpm |
Содержит лишь клиентские программы |
MySQL-devel-4.01.10-1.i386.rpm |
Содержит библиотеки и файлы заголовков, необходимые для компиляции клиентских программ |
MySQL-shared-4.01.10-1.i386.rpm |
Содержит совместно используемые библиотеки для клиентских программ |
Опытные пользователи Linux знают, что флаг -i служит программе rpm указанием инсталлировать пакет. Таким образом, основной модуль MySQL инсталлируется следующей командой:
rpm -i MySQL-4.01.10-1.i386.rpm
В результате инсталляции в каталог /etc/rc.d добавляется файл сценария, содержащий команду запуска сервера MySQL после перезагрузки компьютера. Однако сам серверный демон запускается немедленно.
По окончании инсталляции потребуется изменить стандартные привилегии доступа к базам данных, о чем пойдет речь в конце лекции.
Можно также инсталлировать модуль RPM с исходными кодами программы. В этом случае воспользуйтесь опцией --rebuild, чтобы подготовить бинарный модуль.
Обычно пользователи инсталлируют лишь модули MySQL-4.01.10-1.i386.rpm и MySQL-client-4.01.10-l.i386.rpm. Для тех, кто собирается писать собственные клиентские программы, потребуется также модуль MySQL-devel-4.01.10-1.i386.rpm.
