Название: MySQL на примерах(+CD) Издательство: ВХВ Петербург Автор: Кузнецов М., Симдянов И. Год:2007 Количество страниц:592 Язык:русский Формат: pdf+CD Размер:10 Mb+357 Mb
Книга посвящена популярной СУБД MySQL 5.1. На практических примерах рассматриваются вложенные запросы, хранимые процедуры, представления, триггеры, курсоры, информационная схема, планировщик заданий, сегментирование. Большое внимание уделяется взаимодействию клиентского кода на PHP с СУБД MySQL. Подробно описаны две наиболее популярные библиотеки: классическая библиотека php_mysql и новая объектно-ориентированная библиотека php_mysqli. На компакт-диске содер-жатся дистрибутивы и исходные коды MySQL 5.0/5.1/5.2 для Windows и Linux и графические клиенты для MySQL.
Оглавление Введение 1 Благодарности 2 Глава 1. Установка MySQL 3 1.1. Структура MySQL 3 1.1.1. Клиент-серверная архитектура 3 1.1.2. Загрузка дистрибутивов 5 1.1.3. Структура дистрибутива 7 1.1.4. Официальная документация 8 1.2. Установка MySQL под Windows 9 1.2.1. Процесс установки 9 1.2.2. Постинсталляционная настройка 15 1.2.3. Проверка работоспособности MySQL 23 1.3. Установка MySQL под Linux 25 1.4. Конфигурационный файл 29 1.5. Перемещение каталога данных 32 1.6. Обновление текущей версии 32 1.7. Обзор утилит MySQL 34 1.8. Утилита mysql 35 1.8.1. Командная строка 35 1.8.2. Установка соединения с локальным сервером 40 1.8.3. Установка соединения с удаленным сервером 45 1.8.4. Вертикальный режим вывода 46 1.9. Настройка кодировок 48 1.10. Графические клиенты MySQL 53 1.11. Перенос баз данных с одного сервера на другой 54 1.11.1. Копирование бинарных файлов 54 1.11.2. Создание SQL-дампа 56 1.11.3. Использование операторов SELECT и LOAD DATA 58 1.11.4. Операторы BACKUP TABLE и RESTORE TABLE 64 1.12. Журнальные файлы MySQL 67 1.12.1. Журнальные таблицы 68 1.12.2. Журнал ошибок 68 1.12.3. Общий журнал запросов 69 1.12.4. Бинарный журнал регистраций 69 1.12.5. Журнал медленных запросов 72 1.13. Лицензирование MySQL 73 Глава 2. Базы данных и таблицы 75 2.1. Создание базы данных 75 2.2. Выбор базы данных 79 2.3. Создание таблиц 81 2.3.1. Структура таблицы 82 Числовой тип данных 82 Строковый тип данных 85 Календарный тип данных 87 Тип данных NULL 89 2.3.2. Просмотр структуры таблицы 91 2.3.3. Параметры столбцов 94 2.3.4. Допустимые имена баз данных, таблиц и столбцов 98 2.3.5. Параметры таблицы 101 ENGINE (TYPE) 101 AUTO_INCREMENT 102 [DEFAULT] CHARACTER SET 103 CHECKSUM 103 COMMENT 104 DATA DIRECTORY 104 INDEX DIRECTORY 104 PACK_KEYS 105 ROW_FORMAT 105 2.3.6. Временные таблицы 105 2.3.7. Создание копии таблицы 106 2.3.8. Размещение таблиц в оперативной памяти 108 2.3.9. Объединение нескольких таблиц в одну 109 2.3.10. Размещение таблиц на удаленной машине 111 2.4. Удаление таблиц 113 2.5. Редактирование таблицы 114 2.5.1. Добавление столбца 115 2.5.2. Удаление столбца 116 2.5.3. Изменение уже существующих столбцов 116 2.5.4. Переименование таблицы 118 2.5.5. Преобразование параметров таблицы 119 2.6. Восстановление таблиц 121 2.6.1. Оператор REPAIR TABLE 121 2.6.2. Контрольная сумма таблицы 123 Глава 3. Индексы 127 3.1. Индексация столбцов при создании таблицы 127 3.1.1. Первичный ключ 128 3.1.2. Создание уникального индекса при помощи атрибута AUTO_INCREMENT 131 3.1.3. Обычный и уникальный индексы 132 3.2. Добавление и удаление индексов в существующую таблицу 134 3.2.1. Добавление индекса 134 3.2.2. Удаление индекса 136 3.3. Восстановление индексов 137 Глава 4. Заполнение, обновление и очистка таблиц 141 4.1. Вставка записи в таблицу. Оператор INSERT 141 4.1.1. Вставка числовых значений 141 4.1.2. Вставка строковых значений 143 4.1.3. Вставка календарных значений 145 4.1.4. Тип данных TIMESTAMP 148 4.1.5. Вставка данных в формате UNIXSTAMP 149 4.1.6. Вставка уникальных значений 150 4.1.7. Механизм AUTO_INCREMENT 151 4.1.8. Вставка вычисляемых значений 153 4.2. Многострочный оператор INSERT 154 4.3. Отложенная вставка записей 154 4.4. Пакетная загрузка данных. Оператор INSERT ... SELECT 155 4.5. Удаление данных 157 4.5.1. Оператор DELETE 157 4.5.2. Оператор TRUNCATE 158 4.5.3. Удаление из нескольких таблиц 158 4.5.4. Каскадное удаление из нескольких таблиц 162 4.6. Обновление записей 165 4.6.1. Оператор UPDATE 165 4.6.2. Многотабличный оператор UPDATE 166 4.6.3. Оператор REPLACE 168 Глава 5. Извлечение данных 171 5.1. Простейшая выборка из таблицы 171 5.2. Условная выборка 173 5.3. Комбинированные условия 175 5.4. NULL и логические операторы 177 5.5. Выборка из диапазона 179 5.6. Выборка множества 180 5.7. Использование строк в условии 181 5.8. Использование календарных значений в условии 186 5.9. Форматирование календарных значений 188 5.10. Модификация календарных значений 190 5.11. Псевдонимы столбцов 191 5.12. Сортировка записей 192 5.13. Вывод записей в случайном порядке 195 5.14. Ограничение выборки 195 5.15. Текущая версия MySQL 196 5.16. Количество записей в таблице 198 5.17. Поиск минимального и максимального значений 199 5.18. Вывод уникальных значений 200 5.19. Групповые условия. Условие HAVING 203 5.20. Объединение таблиц 205 5.21. Перекрестное объединение таблиц 208 5.22. Самообъединение таблиц 214 5.23. Объединение таблиц при помощи JOIN 215 5.24. Вложенный запрос, возвращающий одно значение 218 5.25. Вложенные запросы, возвращающие несколько строк 223 5.25.1. Ключевое слово IN 224 5.25.2. Ключевое слово ANY (SOME) 225 5.25.3. Ключевое слово ALL 227 5.26. Проверка результирующей таблицы на существование 228 5.27. Вложенные запросы, возвращающие несколько столбцов 230 5.28. Подзапросы в конструкции FROM 232 Глава 6. Встроенные функции 233 6.1. Математические функции 233 6.1.1. Вычисление площади треугольников 235 6.1.2. Округление результатов вычисления 237 6.1.3. Вывод случайной записи 239 6.2. Функции даты и времени 240 6.2.1. Сложение и вычитание интервалов 245 6.2.2. Заполнение календарных значений 249 6.2.3. Форматирование календарных значений 250 6.2.4. Вычисление возраста человека 250 6.2.5. Преобразование даты в UNIXSTAMP-формат 252 6.3. Строковые функции 253 6.3.1. Изменение кодировки строки 258 6.3.2. Первые несколько символов строки 259 6.3.3. Извлечение инициалов 259 6.3.4. Изменение регистра строки 260 6.3.5. Сжатие строки 262 6.3.6. Загрузка строки из файла 263 6.3.7. Извлечение строк, содержащих искомую подстроку в поле типа SET 265 6.4. Функции шифрования 266 6.4.1. Обратимое шифрование 268 6.4.2. Необратимое шифрование 269 6.5. Функции управления потоком 271 6.5.1. Статус записи 271 6.5.2. Замена NULL на эквиваленты 273 6.6. Информационные функции 274 6.6.1. Статусная информация о текущем сеансе 275 6.6.2. Информация о сервере 276 6.6.3. Фактическое количество строк в таблице 277 6.7. Разное 278 6.7.1. Преобразование IP-адреса 279 6.7.2. Блокировка 280 6.7.3. Универсальный уникальный идентификатор компьютера 282 Глава 7. Поиск 285 7.1. Регулярные выражения 285 7.2. Полнотекстовый поиск 295 7.2.1. Индекс FULLTEXT 296 7.2.2. Конструкция MATCH (...) AGAINST (...) 298 7.2.3. Модификаторы полнотекстового поиска 302 7.2.4. Логический режим 303 7.2.5. Режим расширения запроса 305 Глава 8. Функции, применяемые вместе с конструкцией GROUP BY 307 8.1. Среднее значение 308 8.2. Сортировка агрегатных значений 311 8.3. Подсчет количества записей в таблице 312 8.4. Объединение значений группы 315 8.5. Поиск минимального и максимального значений 316 8.6. Сумма столбца 318 8.7. Конструкция WITH ROLLUP 319 Глава 9. Переменные 321 9.1. Переменные SQL 321 9.2. Нумерация записей 325 9.3. Системные переменные сервера 325 9.4. Динамические запросы 330 Глава 10. Транзакции и блокировки 333 10.1. Транзакции 333 10.2. Когда можно обойтись без транзакций? 338 10.3. Блокировка таблиц 339 Глава 11. Администрирование MySQL 343 11.1. Создание и удаление пользователей 343 11.2. Назначение пароля 346 11.3. Восстановление утерянного пароля 346 11.4. Удаленный доступ к MySQL 346 11.5. Управление привилегиями пользователей 348 11.6. Просмотр существующих привилегий 356 11.7. Ограничение на число соединений с сервером и число запросов 356 11.8. Репликация 359 Глава 12. Хранимые процедуры и функции 365 12.1. Создание хранимой процедуры (функции) 365 12.2. Использование параметров 369 12.3. Локальные переменные 372 12.4. Присвоение значения локальной переменной 375 12.5. Форматирование временного интервала 376 12.6. Группа характеристик хранимых процедур 379 12.7. Операторы ветвления 382 12.7.1. Оператор IF...THEN...ELSE 382 12.7.2. Оператор CASE 385 12.7.3. Проверка правильности ввода 387 12.7.4. Вывод приветствия в зависимости от времени суток 388 12.8. Циклы 389 12.8.1. Оператор WHILE 389 12.8.2. Досрочный выход из цикла 391 12.8.3. Оператор REPEAT 394 12.8.4. Оператор LOOP 395 12.8.5. Отсутствующие идентификаторы 396 12.9. Получение списка созданных хранимых процедур и функций 397 12.10. Содержимое хранимой процедуры 402 12.11. Удаление хранимых процедур и функций 402 12.12. Редактирование хранимых процедур 404 12.13. Обработчики ошибок 405 12.14. Курсоры 410 12.15. Рекурсивные хранимые процедуры 413 Глава 13. Триггеры 419 13.1. Создание триггера 419 13.2. Удаление триггера 423 13.3. Список созданных триггеров 424 Глава 14. Представления 427 14.1. Создание представлений 427 14.2. Сокрытие столбцов 432 14.3. Сокрытие строк 434 14.4. Обновление и удаление записей при помощи представлений 435 14.5. Редактирование представления 436 14.6. Удаление представлений 437 14.7. Просмотр структуры представления 438 Глава 15. Информационная схема 439 15.1. Список баз данных 442 15.2. Список таблиц 444 15.3. Список столбцов 447 Глава 16. Планировщик заданий 453 16.1. Управление планировщиком задач 453 16.2. Размещение задания 456 16.3. Удаление задания 460 16.4. Редактирование задания 461 16.5. Список заданий 463 Глава 17. Сегментирование 465 17.1. Включено ли сегментирование? 465 17.2. Создание сегментированной таблицы 466 17.3. Типы сегментирования таблиц 467 17.3.1. Линейная сегментация RANGE 467 17.3.2. Списочная сегментация LIST 471 17.3.3. Хэш-сегментация HASH 474 17.3.4. Индексная сегментация KEY 475 17.4. Подразделы 476 17.5. Распределение подразделов по разным папкам и дискам 479 17.6. Удаление разделов 481 17.7. Добавление разделов 483 17.8. Перепланировка разделов 485 Глава 18. Взаимодействие с PHP 489 18.1. Расширение php_mysql 489 18.2. Расширение php_mysqli 497 18.3. Создание базы данных 505 18.4. Создание и заполнение таблицы 506 18.5. Заполнение связанных таблиц 508 18.6. Вывод данных 515 18.7. Повторное чтение результирующей таблицы 517 18.8. Количество строк в таблице 520 18.9. Вывод результатов в несколько столбцов 521 18.10. Постраничная навигация 524 18.11. Удаление данных 528 18.12. Сортировка 532 18.13. Размер базы данных 535 Заключение 537 Приложение 1. Системные переменные MySQL 539 Приложение 2. Описание компакт-диска 565 Предметный указатель 567 X Оглавление IX Оглавление
Внимание
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.