Основные инструкции языка 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. (Примеры рассматриваются без учета ограничений целостности).