Основные операторы языка

Опишем минимальное подмножество языка SQL, опираясь на его реали­зацию в стандартном интерфейсе ODBC (Open Database Connectivity — со­вместимость открытых баз данных) фирмы Microsoft.

Операторы языка SQL можно условно разделить на два подъязыка: язык определения данных (Data Definition Language DDL) и язык манипулиро­вания данными (Data Manipulation Language DML). Основные операторы языка SQL представлены в табл. 3.3.

Рассмотрим формат и основные возможности важнейших операторов, за исклю-че1шемспецифическихоператоров,сол1еченнъ1хвтаб\шщесимволом<<%>.Несу1цестве11-ные операнды и элементы синтаксиса (например, принятое во многих системах про­граммирования правило ставить «;» в конце оператора) будем опускать.

1. Оператор создания таблицы имеет формат вида:

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

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

Обязательными операндами оператора являются имя создаваемой табли­цы и имя хотя бы одного столбца (поля) с указанием типа данных, хранимых в этом столбце.

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

Таблица 3.3

Вид

Название

Назначение

DDL

CREATE TABLE DROP TABLE ALTER TABLE CREATE INDEX DROP INDEX CREATE VIEW DROP VIEW GRAND* REVOKE*

создание таблицы удаление таблицы изменение структуры таблицы создание индекса удаление индекса создание представления удаление представления назначение привилегий удаление привилегий

DML

SELECT UPDATE INSERT DELETE

выборка записей изменение записей вставка новых записей удаление записей

В общем случае в разных СУБД могут использоваться различные типы данных (см. подраздел 2.7). В интерфейсе ODBC поддерживаются свои стандартные типы данных, например, символьные (SQLCHAR, SQLVARCHAR, SQL_LONGVARCHAR) и др. При работе с БД некоторой СУБД посредством интерфейса ODBC выполняется автоматическое преоб­разование стандартных типов данных, поддерживаемых интерфейсом, в типы данных источников и обратно. При необходимости обмен данными между программой и источником данных может вестись без преобразования — во внутреннем формате данных источника.

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

Пусть требуется создать таблицу goods описания товаров, имеющую поля: type — вид товара, comp_id — идентификатор компании-производителя, name -название товара и price — цена товара. Оператор определения таблицы может иметь следующий вид:

CREATE TABLE goods (type SQL CHAR(8) NOT NULL,

compid SQL_CHAR(10) NOT NULL, name SQL_VARCHAR(20), price SQL_DECIMAL(8,2)).

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

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

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

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

Изменение структуры таблицы может состоять в добавлении (ADD), изме­нении (MODIFY) или удалении (DROP) одного или нескольких столбцов табли­цы. Правилазаписи оператора ALTER TABLE такиеже, как и оператора CREATE TABLE. При удалении столбца указывать <тип данных> не нужно.

Пример 2. Добавление поля таблицы.

Пусть в созданной ранее таблице goods необходимо добавить поле number, отводимое для хранения величины запаса товара. Для этого следует записать оператор вида:

ALTER TABLE goods (ADD number SQL_INTEGER).

3. Оператор удаления таблицы имеет формат вида:
DROP TABLE <имя таблицы>

Оператор позволяет удалить имеющуюся таблицу. Например, для удале­ния таблицы с именем items достаточно записать оператор вида:

DROP TABLE items.

 

 

Hosted by uCoz