Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД / Uchpos / Gl_4.doc
Скачиваний:
24
Добавлен:
27.04.2015
Размер:
342.53 Кб
Скачать

Инструкция alter table

Изменяет структуру таблицы, созданной с помощью инструкции CREATE TABLE.

Синтаксис

ALTER TABLE таблица {ADD {COLUMN поле тип[(размер)] [CONSTRAINT индекс] |

CONSTRAINT составной_индекс} |

DROP {COLUMN поле | CONSTRAINT имя_индекса} }

где:

таблица - имя изменяемой таблицы;

поле - имя поля, добавляемого в таблицу или удаляемого из нее;

тип - тип данных поля;

размер - размер поля в символах (только для текстовых и двоичных полей);

индекс - индекс для поля;

составной_индекс - описание составного индекса, добавляемого к таблице;

имя_индекса - имя составного индекса, который следует удалить.

С помощью инструкции ALTER TABLE существующую таблицу можно изменить несколькими способами, например, добавить новое поле в таблицу с помощью ADD COLUMN. В этом случае указывается имя поля, его тип и (для текстовых и двоичных полей) необязательный размер.

Кроме того, можно:

- создать индекс по этому полю ;

- добавить составной индекс с помощью ADD CONSTRAINT;

- удалить поле с помощью DROP COLUMN. В этом случае укажите только имя поля;

- удалить составной индекс с помощью DROP CONSTRAINT. В этом случае укажите только имя составного индекса, следующее за зарезервированным словом CONSTRAINT.

Нельзя добавить или удалить одновременно несколько полей или индексов.

Инструкция drop

Удаляет существующую таблицу из базы данных или удаляет существующий индекс из таблицы.

Синтаксис

Drop {table таблица | index индекс on таблица}

где:

таблица - имя таблицы, которую следует удалить или из которой следует удалить индекс;

индекс - имя индекса, удаляемого из таблицы.

Прежде чем удалить таблицу или удалить из нее индекс, необходимо закрыть ее.

Инструкция create index

Создает новый индекс для существующей таблицы.

Синтаксис

CREATE [ UNIQUE ] INDEX индекс

ON таблица (поле [ASC|DESC][, поле [ASC|DESC], ...])

[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]

где:

индекс - имя создаваемого индекса.

таблица - имя существующей таблицы, для которой создается индекс.

поле - имена одного или нескольких полей, включаемых в индекс.

Для создания простого индекса (состоящего из одного поля) вводится имя поля в круглых скобках сразу после имени таблицы. Для создания составного индекса (состоящий из нескольких полей) перечисляются имена всех этих полей. Для расположения элементов индекса в убывающем порядке используется зарезервированное слово DESC; в противном случае будет принят возрастающий порядок.

Чтобы запретить совпадение значений индекса в разных записях, используется зарезервированное слово UNIQUE.

С помощью необязательного предложения WITH задаются условия на значения. Например, можно:

- с помощью параметра DISALLOW NULL запретить наличие значений Null в индексированных полях новых записей.

- с помощью параметра IGNORE NULL запретить включение в индекс записей, имеющих значения Null в индексированных полях.

- с помощью зарезервированного слова PRIMARY назначить индексированные поля ключом. Такой индекс по умолчанию является уникальным, следовательно, зарезервированное слово UNIQUE можно опустить.

В качестве примера создадим таблицы базы данных, содержащей данные о поставках товаров, которые будут использоваться во всех последующих примерах:

CREATE TABLE Товары ([Код товара] INTEGER CONSTRAINT Key1 PRIMARY KEY,

Наименование TEXT, Тип INTEGER CONSTRAINT Key2 REFERENSES Типы, Цена CURRENCY,[Место хранения] TEXT);

CREATE TABLE Поставщики ([Код поставщика] INTEGER CONSTRAINT Key3 PRIMARY KEY,Имя TEXT, Адрес TEXT);

CREATE TABLE Типы (Тип INTEGER CONSTRAINT Key4 PRIMARY KEY,Наименование TEXT );

CREATE TABLE Поставки ([Код товара] INTEGER CONSTRAINT Key5 REFERENSES Товары, [Код поставщика] INTEGER CONSTRAINT Key6 REFERENSES Поставщики, Количество INTEGER, Дата DATE CONSTRAINT Key4 PRIMARY KEY([Код товара],[Код поставщика]);

Соседние файлы в папке Uchpos