Часть II. Язык SQL
В этой части книги описывается использование языка SQL в Postgres Pro. Мы начнём с описания общего синтаксиса SQL, затем расскажем, как создавать таблицы, наполнять базу данных и выполнять запросы к ней. В продолжении обратим внимание на существующие типы данных и функции, применяемые с командами SQL. И наконец, рассмотрим важные аспекты настройки базы данных.
Материал упорядочен так, чтобы новичок мог прочитать его от начала до конца и полностью понять все темы, не забегая вперёд. При этом главы сделаны самодостаточными, так что опытные пользователи могут читать их по отдельности. Информация представлена в повествовательном стиле и разделена по темам. Если же вас интересует формальное и полное описание определённой команды, рекомендуем обратиться к Части VI.
Читатели должны уже знать, как подключаться к базе данных Postgres Pro и выполнять команды SQL. Если вы ещё не знаете этого, рекомендуется сначала прочитать Часть I. Команды SQL обычно вводятся в psql — интерактивном терминальном приложении Postgres Pro, но можно воспользоваться и другими программами с подобными функциями.
Содержание
- 4. Синтаксис SQL
- 5. Определение данных
- 5.1. Основы таблиц
- 5.2. Значения по умолчанию
- 5.3. Столбцы идентификации
- 5.4. Генерируемые столбцы
- 5.5. Ограничения
- 5.6. Системные столбцы
- 5.7. Изменение таблиц
- 5.8. Права
- 5.9. Политики защиты строк
- 5.10. Схемы
- 5.11. Наследование
- 5.12. Секционирование таблиц
- 5.13. Сторонние данные
- 5.14. Другие объекты баз данных
- 5.15. Отслеживание зависимостей
- 5.2. Значения по умолчанию
- 5.1. Основы таблиц
- 6. Модификация данных
- 7. Запросы
- 8. Типы данных
- 8.1. Числовые типы
- 8.2. Денежные типы
- 8.3. Символьные типы
- 8.4. Двоичные типы данных
- 8.5. Типы даты/времени
- 8.6. Логический тип
- 8.7. Типы перечислений
- 8.8. Геометрические типы
- 8.9. Типы, описывающие сетевые адреса
- 8.10. Битовые строки
- 8.11. Типы, предназначенные для текстового поиска
- 8.12. Тип UUID
- 8.13. Тип XML
- 8.14. Типы JSON
- 8.15. Массивы
- 8.16. Составные типы
- 8.17. Диапазонные типы
- 8.18. Типы доменов
- 8.19. Идентификаторы объектов
- 8.20. Тип
pg_lsn
- 8.21. Псевдотипы
- 8.2. Денежные типы
- 8.1. Числовые типы
- 9. Функции и операторы
- 9.1. Логические операторы
- 9.2. Функции и операторы сравнения
- 9.3. Математические функции и операторы
- 9.4. Строковые функции и операторы
- 9.5. Функции и операторы двоичных строк
- 9.6. Функции и операторы для работы с битовыми строками
- 9.7. Поиск по шаблону
- 9.8. Функции форматирования данных
- 9.9. Операторы и функции даты/времени
- 9.10. Функции для перечислений
- 9.11. Геометрические функции и операторы
- 9.12. Функции и операторы для работы с сетевыми адресами
- 9.13. Функции и операторы текстового поиска
- 9.14. Функции генерирования UUID
- 9.15. XML-функции
- 9.16. Функции и операторы JSON
- 9.17. Функции для работы с последовательностями
- 9.18. Условные выражения
- 9.19. Функции и операторы для работы с массивами
- 9.20. Диапазонные/мультидиапазонные функции и операторы
- 9.21. Агрегатные функции
- 9.22. Оконные функции
- 9.23. Функции поддержки MERGE
- 9.24. Выражения подзапросов
- 9.25. Сравнение табличных строк и массивов
- 9.26. Функции, возвращающие множества
- 9.27. Системные информационные функции и операторы
- 9.28. Функции для системного администрирования
- 9.29. Триггерные функции
- 9.30. Функции событийных триггеров
- 9.31. Системные информационные функции
- 9.2. Функции и операторы сравнения
- 9.1. Логические операторы
- 10. Преобразование типов
- 11. Индексы
- 11.1. Введение
- 11.2. Типы индексов
- 11.3. Составные индексы
- 11.4. Индексы и предложения
ORDER BY
- 11.5. Объединение нескольких индексов
- 11.6. Уникальные индексы
- 11.7. Индексы по выражениям
- 11.8. Частичные индексы
- 11.9. Сканирование только индекса и покрывающие индексы
- 11.10. Семейства и классы операторов
- 11.11. Индексы и правила сортировки
- 11.12. Контроль использования индексов
- 11.13. Использование алгоритма k-NN для оптимизации запросов
- 11.2. Типы индексов
- 11.1. Введение
- 12. Полнотекстовый поиск
- 12.1. Введение
- 12.2. Таблицы и индексы
- 12.3. Управление текстовым поиском
- 12.4. Дополнительные возможности
- 12.5. Анализаторы
- 12.6. Словари
- 12.7. Пример конфигурации
- 12.8. Тестирование и отладка текстового поиска
- 12.9. Типы индексов, предпочитаемые для текстового поиска
- 12.10. Поддержка psql
- 12.11. Ограничения
- 12.2. Таблицы и индексы
- 12.1. Введение
- 13. Управление конкурентным доступом
- 14. Оптимизация производительности
- 15. Параллельный запрос
- 16. Автономные транзакции