Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
101
Добавлен:
15.06.2014
Размер:
1.7 Mб
Скачать

3.7.2 Оператор создания таблицы

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

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

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

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

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

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

Таблица 3.3

Операторы языка SQL

Вид

Название

Назначение

CREATE TABLE

создание таблицы

DROP TABLE

удаление таблицы

ALTER TABLE

изменение структуры таблицы

CREATE INDEX

создание индекса

DDL

DROP INDEX

удаление индекса

CREATE VIEW

создание представления

DROP VIEW

удаление представления

GRAND*

назначение привилегий

REVOKE*

удаление привилегий

SELECT

выборка записей

DML

UPDATE

изменение записей

INSERT

вставка новых записей

DELETE

удаление записей

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

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

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

CREATE TABLE goods (type SQL_CHAR(8) NOT NULL,

comp_id SQL_CHAR(10) NOT NULL, name SQL_VARCHAR(20),

price SQL_DECIMAL(8,2))

3.7.3 Оператор изменения структуры таблиц

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

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)