Иллюстрированный самоучитель по PostgreSQL

Команды SQL

Любая концептуальная информация о реляционных базах данных и таблицах приносит пользу лишь в том случае, если вы знаете, как организовать взаимодействие с данными. Язык SQL состоит из структурированных команд, предназначенных для добавления, модификации и удаления данных из базы. Эти команды образуют основу для взаимодействия с сервером PostgreSQL.

Этот раздел посвящен "анатомии" команд SQL. В нем рассматриваются структурные компоненты команд, описываются функции каждого компонента и их взаимные связи. Стандартный клиент командной строки PostgreSQL, psql, выводит результаты выполнения команд в приведенных примерах.

Большинство примеров команд SQL относится к базе данных booktown. Весь вывод psql снабжается префиксом вида booktown=#.

В некоторых примерах используется тестовая база данных testdb. По умолчанию в приглашении psql выводится только имя базы данных и символы =#, означающие, что система готова к вводу новой команды (хотя вы увидите, что символ = динамически изменяется по мере отслеживания состояния входных данных SQL). В книге это приглашение приводится вместе с входными и выходными данными SQL, чтобы вам было проще освоиться с выводом клиента psql.

Клиент psql подробно описан в главе 4. Здесь он упоминается лишь для пояснения стиля примеров команд SQL.

Примечание
Схема базы данных booktown (вместе с примерами записей) находится в файле booktown.sql на компакт-диске. Чтобы установить эту базу данных, введите в приглашении командной строки команду psql – U postgres template! – f /mnt/cdrom/booktown.sql, где /mnt/cdrom – путь к смонтированному компакт-диску, a postgres – имя суперпользователя PostgreSQL
.

Анатомия команд SQL

Команды SQL всегда начинаются с действия (verb) – слова или группы слов, описывающих выполняемую операцию. Кроме того, команда SQL обычно содержит одну или несколько секций, уточняющих ее смысл. В табл. 3.2 перечислены основные действия SQL.

Таблица 3.2. Основные действия PostgreSQL.

Действие Описание
CREATE DATABASE Создание новой базы данных
CREATE INDEX Создание нового индекса для столбца таблицы
CREATE SEQUENCE Создание новой последовательности в существующей базе данных
CREATE TABLE Создание новой таблицы в существующей базе данных
CREATE TRIGGER Создание нового определения триггера
CREATE VIEW Создание нового представления для существующей таблицы
SELECT Выборка записей из таблицы
INSERT Вставка одной или нескольких новых записей в таблицу
UPDATE Модификация данных в существующих записях
DELETE Удаление существующих записей из таблицы
DROP DATABASE Уничтожение существующей базы данных
DROP INDEX Удаление индекса столбца из существующей таблицы
DROP SEQUENCE Уничтожение существующего генератора последовательности
DROP TABLE Уничтожение существующей таблицы
DROP TRIGGER Уничтожение существующего определения триггера
DROP VIEW Уничтожение существующего представления
CREATE USER Создание в системе новой учетной записи пользователя PostgreSQL
ALTER USER Модификация существующей учетной записи пользователя PostgreSQL
DROP USER Удаление существующей учетной записи пользователя PostgreSQL
GRANT Предоставление прав доступа к объекту базы данных
REVOKE Лишение прав доступа к объекту базы данных
CREATE FUNCTION Создание новой функции SQL в базе данных
CREATE LANGUAGE Создание нового определения языка в базе данных
CREATE OPERATOR Создание нового оператора SQL в базе данных
CREATE TYPE Создание нового типа данных SQL в базе данных
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.