Страница 1 из 1
[ 1 сообщение ]
Поль Дюбуа - MySQL. Сборник рецептов [2007, PDF, RUS]
Автор
Сообщение
virus
Релизер
Раздал: 157 ГБ
Скачал: 4 ГБ
Ратио: 39.250
Зарегистрирован: 2013-08-21 19:15Сообщения: 48352
MySQL. Сборник рецептов #777
Год : 2007
Автор : Поль Дюбуа
Издательство : Символ-плюс
ISBN : 5-93286-070-7
Язык : Русский
Формат : PDF
Качество : Изначально компьютерное (eBook)
Интерактивное оглавление : Да
Количество страниц : 1056
Описание : «MySQL. Сборник рецептов» Поля Дюбуа – это всеобъемлющий сборник задач,
ежедневно возникающих у программистов, их решений и практических приме
ров. Сборник будет полезен всем пользователям MySQL независимо от уровня
их подготовки. Каждой задаче, обсуждаемой в книге, соответствует прорабо
танное решение или рецепт с небольшим фрагментом кода, который можно
вставлять прямо в приложение. Работа каждого фрагмента подробно поясня
ется, что позволяет разобраться, как и почему все это работает, и применить
готовые приемы к схожим ситуациям. Материал книги пригодится и опыт
ным разработчикам MySQL – им не придется писать весь код с нуля.
Издание содержит сотни примеров – от простых решений, которые послужат
напоминанием, до обработки множества SQLоператоров, которые должны
выполняться вместе как единое целое. На вебсайте книги находятся все сце
нарии, написанные для API таких языков, как Perl, Python, Java и PHP.
В книге обсуждаются: использование сценариев для чтения запросов из фай
ла; формирование запросов; создание сценариев MySQL для Web; взаимодей
ствие с сервером; изменение структуры таблиц за счет добавления, удаления
или изменения столбцов; импорт и экспорт данных; выявление, подсчет и уда
ление дубликатов, а также предотвращение их появления; вычисление раз
личных статистических характеристик.
Оглавление Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1. Работа с клиентской программой mysql. . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 1.1. Создание учетной записи пользователя MySQL . . . . . . . . . . . . . . . . . . . 29 1.2. Создание базы данных и тестовой таблицы . . . . . . . . . . . . . . . . . . . . . . . 31 1.3. Запуск и остановка mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.4. Задание параметров соединения в файлах опций. . . . . . . . . . . . . . . . . . 34 1.5. Защита файлов опций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.6. Комбинирование параметров файла опций с параметрами командной строки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.7. Что делать, если не удается найти mysql . . . . . . . . . . . . . . . . . . . . . . . . . 38 1.8. Установка переменных окружения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.9. Создание запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 1.10. Выбор базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.11. Отмена частично введенного запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 1.12. Повторение и редактирование запросов . . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.13. Автоматическое завершение ввода имен баз данных и таблиц . . . . . . 47 1.14. Использование в запросах переменных SQL . . . . . . . . . . . . . . . . . . . . . . 48 1.15. Чтение запросов из файла. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 1.16. Чтение запросов из других программ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 1.17. Ввод запросов в командной строке . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 1.18. Использование копирования и вставки для формирования ввода mysql . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 1.19. Борьба с исчезновением с экрана вывода запроса. . . . . . . . . . . . . . . . . . 56 1.20. Перенаправление вывода запроса в файл или программу. . . . . . . . . . . 57 1.21. Выбор формата вывода: таблица или элементы, разделенные табуляцией. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 1.22. Задание произвольного разделителя для столбцов вывода. . . . . . . . . . 59 1.23. Формирование HTMLвывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 1.24. Формирование XMLвывода. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 1.25. Исключение заголовков столбцов из вывода запроса . . . . . . . . . . . . . . 63 1.26. Нумерация строк вывода запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 1.27. Улучшение читаемости длинных строк . . . . . . . . . . . . . . . . . . . . . . . . . . 65 1.28. Управление уровнем подробности mysql . . . . . . . . . . . . . . . . . . . . . . . . . 67 1.29. Протоколирование интерактивных сеансов mysql . . . . . . . . . . . . . . . . . 67 1.30. Создание сценариев mysql из ранее выполненных запросов. . . . . . . . . 68 1.31. Использование mysql в качестве калькулятора . . . . . . . . . . . . . . . . . . . 69 1.32. Использование mysql в сценариях оболочки. . . . . . . . . . . . . . . . . . . . . . 71 2. Создание программы для MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 2.1. Соединение с сервером MySQL, выбор базы данных и отключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 2.2. Контроль ошибок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 2.3. Создание библиотечных файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104 2.4. Запуск запросов и извлечение результатов . . . . . . . . . . . . . . . . . . . . . .116 2.5. Перемещение по результирующему множеству . . . . . . . . . . . . . . . . . .133 2.6. Использование в запросах подготовленных предложений и заполнителей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134 2.7. Использование в запросах специальных символов и значений NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140 2.8. Обработка значений NULL в результирующих множествах. . . . . . . .148 2.9. Создание объектноориентированного интерфейса MySQL для PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152 2.10. Способы получения параметров соединения . . . . . . . . . . . . . . . . . . . . .167 2.11. Заключение и рекомендации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183 3. Выбор записей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .184 3.1. Задание столбцов вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186 3.2. Решение проблем с неправильным порядком вывода столбцов . . . . .187 3.3. Присваивание имен столбцам вывода. . . . . . . . . . . . . . . . . . . . . . . . . . .188 3.4. Использование псевдонимов столбцов в программах. . . . . . . . . . . . . .191 3.5. Объединение столбцов для формирования составных значений . . . .192 3.6. Задание выбираемых строк . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 3.7. Инструкция WHERE и псевдонимы столбцов. . . . . . . . . . . . . . . . . . . .197 3.8. Отображение результатов операций сравнения с целью контроля их выполнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .197 3.9. Инвертирование, или отрицание условий запроса . . . . . . . . . . . . . . . .198 3.10. Удаление повторяющихся строк . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200 3.11. Обработка значений NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202 3.12. Инвертирование условия для столбца, содержащего значения NULL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .203 3.13. Использование в программах операций сравнения с участием NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204 3.14. Сопоставление значениям NULL других значений при выводе . . . . .205 3.15. Упорядочивание результирующего множества . . . . . . . . . . . . . . . . . .207 3.16. Выбор начальных или конечных записей результирующего множества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .208 3.17. Выбор строк из середины результирующего множества . . . . . . . . . . .211 3.18. Выбор соответствующих значений для инструкции LIMIT . . . . . . . .213 3.19. Получение значений LIMIT из выражений . . . . . . . . . . . . . . . . . . . . . .215 3.20. Что делать, если для инструкции LIMIT нужен «неправильный» порядок сортировки . . . . . . . . . . . . . . . . . . . . . . . . . .216 3.21. Выбор результирующего множества в существующую таблицу . . . .218 3.22. Создание таблицы из результирующего множества «на лету». . . . . .219 3.23. Безопасное перемещение записей из таблицы в таблицу . . . . . . . . . .221 3.24. Создание временных таблиц. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223 3.25. Клонирование таблицы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225 3.26. Формирование уникальных имен таблиц . . . . . . . . . . . . . . . . . . . . . . .227 4. Работа со строками . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .229 4.1. Создание строк, содержащих кавычки или другие специальные символы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230 4.2. Сохранение замыкающих пробелов в строковых столбцах. . . . . . . . .232 4.3. Проверка равенства и взаимного порядка строк. . . . . . . . . . . . . . . . . .233 4.4. Разбиение и соединение строк . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .234 4.5. Проверка вхождения подстроки в строку . . . . . . . . . . . . . . . . . . . . . . .238 4.6. Поиск по образцу с помощью шаблонов SQL . . . . . . . . . . . . . . . . . . . . .238 4.7. Поиск по образцу с помощью регулярных выражений . . . . . . . . . . . .241 4.8. Буквальная интерпретация метасимволов в шаблонах. . . . . . . . . . . .246 4.9. Управление чувствительностью к регистру при сравнении строк. . .249 4.10. Управление чувствительностью к регистру при поиске по образцу . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .253 4.11. Поиск с помощью индекса FULLTEXT. . . . . . . . . . . . . . . . . . . . . . . . . .256 4.12. FULLTEXTпоиск и короткие слова . . . . . . . . . . . . . . . . . . . . . . . . . . . .261 4.13. Включение и исключение слов из FULLTEXTпоиска . . . . . . . . . . . .262 4.14. Поиск фразы при помощи индекса FULLTEXT . . . . . . . . . . . . . . . . . .264 5. Работа с датами и временем . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267 5.1. Изменение формата даты MySQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .270 5.2. Определение форматов отображения даты и времени . . . . . . . . . . . . .271 5.3. Определение текущей даты или времени . . . . . . . . . . . . . . . . . . . . . . . .273 5.4. Разбиение дат и времени на части с помощью функций форматирования. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274 5.5. Разбиение дат и времени с помощью функций извлечения составляющих. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276 5.6. Разбиение дат и времени с помощью строковых функций . . . . . . . . .279 5.7. Синтез дат и времени с помощью функций форматирования. . . . . . .280 5.8. Синтез дат и времени с помощью функций извлечения составляющих. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281 5.9. Объединение даты и времени в значение датаивремя . . . . . . . . . . . .283 5.10. Преобразование времени в секунды и обратно . . . . . . . . . . . . . . . . . . .283 5.11. Преобразование дат в дни и обратно . . . . . . . . . . . . . . . . . . . . . . . . . . . .285 5.12. Преобразование значений датаивремя в секунды и обратно . . . . . .286 5.13. Сложение значений времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .288 5.14. Вычисление интервалов между значениями времени . . . . . . . . . . . . .289 5.15. Разбиение интервалов времени на составляющие . . . . . . . . . . . . . . . .290 5.16. Добавление значения времени к дате . . . . . . . . . . . . . . . . . . . . . . . . . . .292 5.17. Вычисление интервалов между датами . . . . . . . . . . . . . . . . . . . . . . . . .295 5.18. Стандартизация несовсемISOстрок . . . . . . . . . . . . . . . . . . . . . . . . . . .297 5.19. Вычисление возраста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .299 5.20. Смещение даты на заданную величину . . . . . . . . . . . . . . . . . . . . . . . . .302 5.21. Нахождение первого и последнего дней месяца . . . . . . . . . . . . . . . . . .304 5.22. Вычисление длины месяца . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .307 5.23. Получение одной даты из другой заменой подстроки . . . . . . . . . . . . .308 5.24. Определение дня недели для даты. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .309 5.25. Определение дат для дней текущей недели . . . . . . . . . . . . . . . . . . . . . .310 5.26. Определение дат для дней других недель. . . . . . . . . . . . . . . . . . . . . . . .311 5.27. Вычисления для високосных годов. . . . . . . . . . . . . . . . . . . . . . . . . . . . .313 5.28. Обработка даты и времени как чисел . . . . . . . . . . . . . . . . . . . . . . . . . . .317 5.29. Обработка в MySQL строк как значений времени. . . . . . . . . . . . . . . . .318 5.30. Выбор записей по временным характеристикам . . . . . . . . . . . . . . . . .319 5.31. Использование значений TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . . . .323 5.32. Регистрация времени последнего изменения строки. . . . . . . . . . . . . .324 5.33. Регистрация времени создания записи . . . . . . . . . . . . . . . . . . . . . . . . .325 5.34. Вычисления со значениями TIMESTAMP . . . . . . . . . . . . . . . . . . . . . . .327 5.35. Вывод значений TIMESTAMP в удобном для чтения виде . . . . . . . . .328 6. Сортировка результатов запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329 6.1. Использование ORDER BY для сортировки результатов запроса . . .330 6.2. Сортировка частей таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335 6.3. Сортировка результатов выражения. . . . . . . . . . . . . . . . . . . . . . . . . . . .336 6.4. Сортировка одного набора значений и вывод другого . . . . . . . . . . . . .338 6.5. Сортировка и значения NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .343 6.6. Сортировка и чувствительность к регистру . . . . . . . . . . . . . . . . . . . . . .345 6.7. Сортировка по дате. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .347 6.8. Сортировка по календарному дню. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .348 6.9. Сортировка по дню недели . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .351 6.10. Сортировка по времени дня . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .353 6.11. Сортировка по подстрокам значений столбцов . . . . . . . . . . . . . . . . . . .354 6.12. Сортировка по подстрокам фиксированной длины . . . . . . . . . . . . . . .354 6.13. Сортировка по подстрокам переменной длины. . . . . . . . . . . . . . . . . . .357 6.14. Сортировка имен хостов по доменам. . . . . . . . . . . . . . . . . . . . . . . . . . . .362 6.15. Сортировка IPадресов в числовом порядке. . . . . . . . . . . . . . . . . . . . . .365 6.16. Размещение определенных значений в начале или конце упорядоченного списка . . . . . . . . . . . . . . . . . . . . .367 6.17. Сортировка в порядке, определенном пользователем . . . . . . . . . . . . .369 6.18. Сортировка значений ENUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370 7. Формирование итогов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374 7.1. Суммирование с помощью функции COUNT() . . . . . . . . . . . . . . . . . . .376 7.2. Суммирование при помощи функций MIN() и MAX() . . . . . . . . . . . . .379 7.3. Суммирование при помощи функций SUM() и AVG() . . . . . . . . . . . . .380 7.4. Использование ключевого слова DISTINCT для удаления дубликатов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .382 7.5. Поиск значений, связанных с минимальным и максимальным значениями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385 7.6. Управление чувствительностью к регистру функций MIN() и MAX() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389 7.7. Разбиение итогов на подгруппы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .390 7.8. Итоги и значения NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .395 7.9. Выбор групп только с определенными характеристиками . . . . . . . . .398 7.10. Устанавливаем уникальность значения. . . . . . . . . . . . . . . . . . . . . . . . .399 7.11. Группирование по результатам выражения . . . . . . . . . . . . . . . . . . . . .400 7.12. Классификация некатегориальных данных . . . . . . . . . . . . . . . . . . . . .402 7.13. Управление порядком вывода итоговой информации . . . . . . . . . . . . .406 7.14. Нахождение наибольшего и наименьшего из итоговых значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408 7.15. Итоги по датам . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409 7.16. Одновременная работа с итогами по группам и общим итогом . . . . .413 7.17. Формирование отчета, содержащего итоговую информацию и список . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .416 8. Изменение таблицы с помощью предложения ALTER TABLE . . . . . . .419 8.1. Удаление, добавление и перемещение столбца . . . . . . . . . . . . . . . . . . .421 8.2. Изменение определения или имени столбца . . . . . . . . . . . . . . . . . . . . .422 8.3. Предложение ALTER TABLE, значения NULL и значения по умолчанию. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .424 8.4. Изменение значения столбца по умолчанию. . . . . . . . . . . . . . . . . . . . .426 8.5. Изменение типа таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427 8.6. Переименование таблицы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428 8.7. Добавление и удаление индексов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .429 8.8. Удаление дубликатов путем добавления индекса. . . . . . . . . . . . . . . . .432 8.9. Использование предложения ALTER TABLE для нормализации таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .434 9. Получение и использование метаданных . . . . . . . . . . . . . . . . . . . . . . . . .440 9.1. Определение количества строк, обработанных запросом . . . . . . . . . .441 9.2. Получение метаданных результирующего множества . . . . . . . . . . . .443 9.3. Определение наличия или отсутствия результирующего множества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .452 9.4. Форматирование результатов запроса для отображения. . . . . . . . . . .453 9.5. Получение информации о структуре таблицы . . . . . . . . . . . . . . . . . . .457 9.6. Получение информации о столбцах ENUM и SET . . . . . . . . . . . . . . . .465 9.7. Способы получения информации о таблицах, не зависящие от СУБД. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467 9.8. Применение информации о структуре таблицы . . . . . . . . . . . . . . . . . .469 9.9. Вывод списков таблиц и баз данных . . . . . . . . . . . . . . . . . . . . . . . . . . . .476 9.10. Проверка существования таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . .478 9.11. Проверка существования базы данных . . . . . . . . . . . . . . . . . . . . . . . . .479 9.12. Получение метаданных сервера. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479 9.13. Создание приложений, адаптирующихся к версии сервера MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .480 9.14. Определение текущей базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . .482 9.15. Определение текущего пользователя MySQL . . . . . . . . . . . . . . . . . . . .482 9.16. Мониторинг сервера MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .484 9.17. Определение типов таблиц, поддерживаемых сервером . . . . . . . . . . .485 10. Импорт и экспорт данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .488 10.1. Импорт с помощью LOAD DATA и утилиты mysqlimport . . . . . . . . . .493 10.2. Определение местоположения файла данных . . . . . . . . . . . . . . . . . . . .494 10.3. Указание формата файла данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .497 10.4. Использование кавычек и специальных символов. . . . . . . . . . . . . . . .498 10.5. Импорт файлов в формате CSV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .499 10.6. Чтение файлов, полученных из разных операционных систем . . . . .500 10.7. Обработка дубликатов индексированных записей . . . . . . . . . . . . . . . .501 10.8. Расширение диагностики в LOAD DATA . . . . . . . . . . . . . . . . . . . . . . . .501 10.9. Не преувеличивайте возможности LOAD DATA. . . . . . . . . . . . . . . . . .502 10.10. Пропуск строк в файле данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .504 10.11. Определение порядка ввода столбцов . . . . . . . . . . . . . . . . . . . . . . . . . . .504 10.12. Пропуск столбцов файла данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .505 10.13. Экспорт результатов запроса из MySQL . . . . . . . . . . . . . . . . . . . . . . . . .506 10.14. Экспорт таблиц в виде необработанных данных. . . . . . . . . . . . . . . . . .509 10.15. Экспорт содержимого таблиц или определений в SQLформат . . . . .510 10.16. Копирование таблиц и баз данных на другой сервер . . . . . . . . . . . . . .512 10.17. Создание собственных программ экспорта . . . . . . . . . . . . . . . . . . . . . .513 10.18. Преобразование файлов данных из одного формата в другой. . . . . . .518 10.19. Извлечение и перестановка столбцов файлов данных . . . . . . . . . . . . .520 10.20. Проверка корректности и преобразование данных . . . . . . . . . . . . . . .524 10.21. Проверка корректности. Прямое сравнение . . . . . . . . . . . . . . . . . . . . .526 10.22. Проверка корректности. Сравнение с образцом . . . . . . . . . . . . . . . . . .527 10.23. Образцы для широкой классификации . . . . . . . . . . . . . . . . . . . . . . . . .530 10.24. Образцы для числовых значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .531 10.25. Образцы для дат и времени. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .533 10.26. Образцы для адресов электронной почты и URL . . . . . . . . . . . . . . . . .537 10.27. Проверка корректности при помощи метаданных таблицы. . . . . . . .538 10.28. Проверка корректности при помощи справочной таблицы . . . . . . . .542 10.29. Преобразование двузначных значений года в четырехзначные. . . . .545 10.30. Проверка корректности составляющих даты и времени. . . . . . . . . . .546 10.31. Создание утилит для обработки дат . . . . . . . . . . . . . . . . . . . . . . . . . . . .549 10.32. Использование дат с недостающими частями. . . . . . . . . . . . . . . . . . . .554 10.33. Преобразование дат при помощи SQL. . . . . . . . . . . . . . . . . . . . . . . . . . .555 10.34. Использование временных таблиц для преобразования дат. . . . . . . .557 10.35. Обработка значений NULL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .560 10.36. Определение структуры таблицы для файла данных . . . . . . . . . . . . .563 10.37. Диагностическая утилита для LOAD DATA . . . . . . . . . . . . . . . . . . . . .568 10.38. Обмен данными между MySQL и Microsoft Access . . . . . . . . . . . . . . . .574 10.39. Обмен данными между MySQL и Microsoft Excel . . . . . . . . . . . . . . . . .575 10.40. Обмен данными между MySQL и FileMaker Pro . . . . . . . . . . . . . . . . . .577 10.41. Экспорт результатов запроса в XML . . . . . . . . . . . . . . . . . . . . . . . . . . . .579 10.42. Импорт XML в MySQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .582 10.43. Эпилог . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .585 11. Формирование и использование последовательностей. . . . . . . . . . . .587 11.1. Использование AUTO_INCREMENT для создания столбца последовательности. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .589 11.2. Генерирование значений последовательности . . . . . . . . . . . . . . . . . . .590 11.3. Выбор типа для столбца последовательности . . . . . . . . . . . . . . . . . . . .592 11.4. Удаление записей и формирование последовательности. . . . . . . . . . .595 11.5. Извлечение значений последовательности . . . . . . . . . . . . . . . . . . . . . .598 11.6. Стоит ли повторно упорядочивать столбец . . . . . . . . . . . . . . . . . . . . . .602 11.7. Расширение диапазона последовательности . . . . . . . . . . . . . . . . . . . . .603 11.8. Перенумерация существующей последовательности. . . . . . . . . . . . . .604 11.9. Повторное использование последних значений последовательности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .606 11.10. Управление изменением нумерации строк . . . . . . . . . . . . . . . . . . . . . .607 11.11. Как начать последовательность с определенного значения . . . . . . . .608 11.12. Добавление последовательности в существующую таблицу. . . . . . . .610 11.13. Создание последовательностей с помощью столбца AUTO_INCREMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .611 11.14. Управление несколькими столбцами AUTO_INCREMENT одновременно . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .616 11.15. Использование значений AUTO_INCREMENT для связывания таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .618 11.16. Генераторы однострочных последовательностей . . . . . . . . . . . . . . . . .621 11.17. Формирование повторяющихся последовательностей . . . . . . . . . . . .625 11.18. Последовательная нумерация строк вывода запроса. . . . . . . . . . . . . .626 12. Использование нескольких таблиц . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .628 12.1. Соединение строк одной таблицы со строками другой. . . . . . . . . . . . .628 12.2. Соединение таблиц разных баз данных . . . . . . . . . . . . . . . . . . . . . . . . .633 12.3. Ссылка на имена столбцов вывода соединения в программе . . . . . . .634 12.4. Нахождение строк одной таблицы, соответствующих строкам другой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .636 12.5. Нахождение строк, которым не соответствуют никакие строки другой таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .641 12.6. Нахождение строк с минимальным и максимальным значениями в группе . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .647 12.7. Вычисление рейтинга команд . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .650 12.8. Вывод списков для записей «главнаяподчиненная» и итогов. . . . . .656 12.9. Заполнение пустых мест в списке с помощью соединения . . . . . . . . .660 12.10. Отношение «многиекомногим». . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .665 12.11. Сравнение таблицы с самой собой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .670 12.12. Вычисление разности между последовательными строками . . . . . . .678 12.13. Нарастающий итог и скользящее среднее . . . . . . . . . . . . . . . . . . . . . . .680 12.14. Управление порядком вывода запроса с помощью соединения . . . . .685 12.15. Преобразование подзапросов в операции соединения . . . . . . . . . . . . .687 12.16. Параллельный выбор записей из нескольких таблиц . . . . . . . . . . . . .692 12.17. Вставка записей в таблицу, включающую значения из другой . . . . .697 12.18. Обновление одной таблицы на основе значений другой . . . . . . . . . . .698 12.19. Создание справочной таблицы с помощью соединения. . . . . . . . . . . .702 12.20. Удаление связанных строк в нескольких таблицах. . . . . . . . . . . . . . .708 12.21. Выявление и удаление несвязанных записей . . . . . . . . . . . . . . . . . . . .718 12.22. Одновременное использование нескольких серверов MySQL. . . . . . .724 13. Статистические методы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .727 13.1. Получение описательных статистических показателей . . . . . . . . . . .728 13.2. Групповые описательные статистические показатели . . . . . . . . . . . .732 13.3. Получение частотного распределения . . . . . . . . . . . . . . . . . . . . . . . . . .734 13.4. Подсчет отсутствующих значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . .737 13.5. Вычисление линейной регрессии и коэффициентов корреляции . . .739 13.6. Генерация случайных чисел. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .742 13.7. Рандомизация набора строк . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .743 13.8. Случайный выбор из набора строк . . . . . . . . . . . . . . . . . . . . . . . . . . . . .748 13.9. Присваивание рангов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .749 14. Обработка повторяющихся записей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .753 14.1. Предотвращение появления дубликатов в таблице . . . . . . . . . . . . . . .755 14.2. Обработка дубликатов на этапе создания записи . . . . . . . . . . . . . . . . .757 14.3. Подсчет и выявление дубликатов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .759 14.4. Устранение дубликатов из результата запроса . . . . . . . . . . . . . . . . . . .763 14.5. Устранение дубликатов из результата самообъединения . . . . . . . . . .765 14.6. Удаление дубликатов из таблицы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .767 15. Выполнение транзакций. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .774 15.1. Проверка поддержки транзакций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .775 15.2. Выполнение транзакций средствами SQL . . . . . . . . . . . . . . . . . . . . . . .778 15.3. Выполнение транзакций в программах . . . . . . . . . . . . . . . . . . . . . . . . .780 15.4. Использование транзакций в программах на Perl . . . . . . . . . . . . . . . .782 15.5. Использование транзакций в программах на PHP. . . . . . . . . . . . . . . .785 15.6. Использование транзакций в программах на Python. . . . . . . . . . . . . .786 15.7. Использование транзакций в программах на Java . . . . . . . . . . . . . . . .787 15.8. Альтернативы транзакциям. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .787 16. Знакомство с MySQL для Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .791 16.1. Основы формирования вебстраницы . . . . . . . . . . . . . . . . . . . . . . . . . . .794 16.2. Запуск вебсценариев на сервере Apache . . . . . . . . . . . . . . . . . . . . . . . .797 16.3. Запуск вебсценариев на сервере Tomcat . . . . . . . . . . . . . . . . . . . . . . . .807 16.4. Кодирование специальных символов для Web . . . . . . . . . . . . . . . . . . .817 17. Внедрение результатов запросов в вебстраницы. . . . . . . . . . . . . . . . .825 17.1. Представление результатов запроса в виде абзацев . . . . . . . . . . . . . . .826 17.2. Представление результатов запроса в виде списков. . . . . . . . . . . . . . .828 17.3. Представление результатов запроса в виде таблиц . . . . . . . . . . . . . . .841 17.4. Представление результатов запроса в виде гиперссылок . . . . . . . . . .846 17.5. Создание навигационного индекса . . . . . . . . . . . . . . . . . . . . . . . . . . . . .850 17.6. Хранение изображений и других двоичных данных . . . . . . . . . . . . . .855 17.7. Извлечение изображений и других двоичных данных . . . . . . . . . . . .863 17.8. Работа с баннерами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .865 17.9. Использование результатов запроса для загрузки файлов . . . . . . . . .868 18. Обработка ввода через Web с помощью MySQL . . . . . . . . . . . . . . . . . . .871 18.1. Создание форм в сценариях . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .874 18.2. Создание элементов формы с возможностью выбора одного значения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .877 18.3. Создание элементов формы с возможностью выбора нескольких значений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .894 18.4. Загрузка в форму записи базы данных . . . . . . . . . . . . . . . . . . . . . . . . . .899 18.5. Получение входных данных через Web . . . . . . . . . . . . . . . . . . . . . . . . .904 18.6. Проверка корректности ввода через Web. . . . . . . . . . . . . . . . . . . . . . . .915 18.7. Использование ввода через Web для формирования запросов . . . . . .916 18.8. Обработка загружаемых файлов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .919 18.9. Выполнение поиска и получение результатов. . . . . . . . . . . . . . . . . . . .927 18.10. Формирование ссылок на предыдущую и следующую страницы . . .929 18.11. Сортировка результатов запроса по произвольному столбцу . . . . . . .934 18.12. Счетчики посещаемости вебстраниц . . . . . . . . . . . . . . . . . . . . . . . . . . .939 18.13. Журнал доступа к вебстранице . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .944 18.14. Ведение журнала Apache с помощью MySQL . . . . . . . . . . . . . . . . . . . .945 19. Управление вебсеансами с помощью MySQL . . . . . . . . . . . . . . . . . . . . .954 19.1. Хранение сеансов в MySQL: приложения на Perl . . . . . . . . . . . . . . . . .958 19.2. Хранение сеансов в MySQL: менеджер сеансов PHP . . . . . . . . . . . . . .964 19.3. Хранение сеансов в MySQL: Tomcat . . . . . . . . . . . . . . . . . . . . . . . . . . . .976 A. Получение программного обеспечения MySQL . . . . . . . . . . . . . . . . . . . .986 B. JSP и Tomcat для начинающих. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .991 C. Справочная информация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1020 Алфавитный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1023
2013-12-27 23:17
Автор : virus
Хэш : ---
Добавлен : 2013-12-27 23:04
Приватный : Нет (DHT включён)
Размер : 4.45 МБ (4 666 526 байт)
Скачали : 0 (Раздающих: 0%)
Здоровье : 0%
Сидеров : 0
Личеров : 0
Скорость раздачи : 0 байт/сек
Скорость скачивания : 0 байт/сек
Последний сидер : Нет
Последний личер : Нет
Для скачивания торрента необходимо зарегистрироваться или войти на трекер.
Страница 1 из 1
[ 1 сообщение ]
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения