Основные инструкции языка SQL

Основные задачи, решаемые средствами языка SQL – манипулирование различными объектами базы данных (таблицами, индексами, представлениями и т. д.) и манипулирование данными, хранящимися в таблицах базы данных. В связи с этим, язык SQL принято делить на две части: язык определения данных DDL и язык манипулирования данными DML. Основные инструкции языка SQL представлены в табл. 10.

При описании синтаксиса инструкций будем использовать следующие правила:

Ø каждая инструкция начинается с команды –ключевого слова, описывающего действие, выполняемое инструкцией (например, CREATE – создать, DELETE – удалить и т. д.);

Ø после команды следует одно или несколько предложений, описывающих данные, с которыми работает инструкция, или содержащих дополнительную информацию о действии, выполняемом инструкцией. Каждое предложение начинается с ключевого слова, например, WHERE (где), FROM (откуда), INTO (куда), HAVING (имеющий);

Ø в квадратные скобки "[…]" заключены необязательные элементы;

Ø вертикальная черта "|" , разделяющая два элемента, указывает на то, что в инструкции используется либо один элемент, либо второй;

Ø в фигурные скобки "{…}"заключаются элементы, разделенные вертикальной чертой;

Ø троеточие означает, что далее в инструкции либо следует выражение, либо повторяются элементы, указанные перед тремя точками.

Таблица 10

Инструкции языка SQL

Вид Название Назначение
    DDL CREATE TABLE Добавление новой таблицы в БД
DROP TABLE Удаление таблицы
ALTER TABLE Изменение структуры таблицы
CREATE INDEX Создание индекса для столбца
DROP INDEX Удаление индекса столбца
CREATE VIEW Создание нового представления
DROP VIEW Удаление представления
GRAND Назначение привилегий доступа пользователей к БД
REVOKE Удаление привилегий
CREATE SCHEMA Добавление новой схемы в БД
DROP SCHEMA Удаление схемы
    DML SELECT Выборка данных из таблицы
UPDATE Обновление данных в таблице
INSERT Вставка новых строк в таблицу
DELETE Удаление строк из таблицы

 

Рассмотрим основные инструкции языка SQL.

Инструкциясоздания таблицы имеет формат вида:

 

CREATE TABLE <имя таблицы>

(<имя столбца> <тип данных> [NOT NULL]

[,<имя столбца> <тип данных> [NOT NULL]]... )

 

После выполнения инструкции появляется новая таблица, которой присваивается имя, указанное в инструкции. Имя таблицы (как и имена других объектов – столбцов и пользователей) согласно стандарту ANSI/ISO должны содержать от 1 до 18 символов, начинаться с буквы и не содержать пробелов или специальных символов пунктуации (на практике поддержка имен в различных СУБД реализована по-разному).

Обязательными операндами данной инструкции являются имя создаваемой таблицы и имя хотя бы одного столбца с указанием типа данных, хранимых в этом столбце. SQL поддерживает различные типы данных: целые числа, числа с плавающей запятой, строки символов, значения даты и времени и др. В общем случае в современных СУБД могут использоваться самые разнообразные дополнительные типы данных, расширяющие базовый набор SQL.

При создании таблицы для отдельных столбцов могут указываться некоторые дополнительные правила контроля вводимых в них значений. Конструкция – NOT NULL (не пустое) служит именно таким целям и для столбца таблицы означает, что в этом столбце должно быть непустое (определенное) значение.

Пример 3.28. Создание таблицы

Пусть требуется определить таблицу ORDERS и ее столбцы. Инструкция для определения таблицы может иметь следующий вид:

CREATE TABLE ORDERS (ORDER_NUM INTEGER NOT NULL, CUST_NUM INTEGER NOT NULL, PROD_ID INTEGER NOT NULL, QTY INTEGER NOT NULL, DATE_ORDER DATE NOT NULL)

 

где INTEGER обозначает тип данных целое число, а DATE – тип данных, обозначающих значения даты.

В процессе работы у пользователей возникает необходимость добавить в таблицу информацию. Инструкцияизменения структуры таблицы имеет формат вида:

 

ALTER TABLE <имя таблицы>

{ADD|ALTER|DROP} <имя столбца> [<тип данных>]

[NOT NULL]

[,{ADD|ALTER|DROP} <имя столбца> [<тип данных>]

[NOT NULL],..]

 

Изменение структуры таблицы может состоять в добавлении (ADD), изменении (ALTER) или удалении (DROP) одного или нескольких столбцов таблицы.

Пример 3.29. Добавление столбца таблицы

Добавим в созданную ранее таблицу CUST столбец CUST_PHN, содержащий телефоны клиентов. Для этого следует записать инструкцию вида:

ALTER TABLE CUST ADD CUST_PHN CHAR (10)

Пример 3.30.Удаление столбца

Удалим из таблицы PROD столбец STORE. (Примеры рассматриваются без учета ограничений целостности).