Команда изменения структуры таблицы. Синтаксис, подробное описание секций команды. Примеры
ALTER TABLE таблица {ADD {COLUMN тип поля[(размер)] [NOT NULL] [CONSTRAINT индекс] |
ALTER COLUMN тип поля[(размер)] |
CONSTRAINT составнойИндекс} |
DROP {COLUMN поле I CONSTRAINT имяИндекса} }
Ниже перечислены аргументы инструкции ALTER TABLE:
Элемент | Описание |
таблица | Имя изменяемой таблицы. |
поле | Имя поля, добавляемого в таблицу или удаляемого из нее. Имя поля, заменяемого в таблице. |
тип | Тип данных поля. |
размер | Размер поля в знаках (только для текстовых и двоичных полей). |
индекс | Индекс для поля. Для получения более подробных сведений о создании индекса смотрите описание предложения CONSTRAINT. |
составнойИндекс | Описание составного индекса, добавляемого к таблице. Для получения более подробных сведений о создании индекса смотрите описание предложения CONSTRAINT. |
имяИндекса | Имя составного индекса, который следует удалить. |
С помощью инструкции ALTER TABLE существующую таблицу можно изменить несколькими способами. Например:
- Добавить новое поле в таблицу с помощью предложения ADD COLUMN. В этом случае укажите имя поля, его тип и (для текстовых и двоичных полей) необязательный размер. Например, следующая инструкция добавляет в таблицу «Сотрудники» текстовое поле «Примечания» длиной 25 знаков:
- ALTER TABLE Сотрудники ADD COLUMN Примечания TEXT(25)
- Кроме того, можно создать индекс по этому полю. Для получения более подробных сведений о простых индексах смотрите описание предложения CONSTRAINT.
- Если для поля добавлено ограничение NOT NULL, то при добавлении новых записей это поле должно содержать допустимые данные.
- Для изменения типа существующего поля используйте инструкцию ALTER COLUMN. В этом случае укажите имя поля, его тип и (для текстовых и двоичных полей) необязательный размер. Например, следующая инструкция позволяет в таблице «Сотрудники» изменить тип поля «Почтовый индекс» (первоначально определенный как INTEGER), переопределив это поле как текстовое длиной 10 знаков:
- ALTER TABLE Сотрудники ALTER COLUMN ПочтовыйИндекс TEXT(10)
- Добавить составной индекс с помощью зарезервированных слов ADD CONSTRAINT. Для получения более подробных сведений о составных индексах смотрите описание предложения CONSTRAINT.
- Удалить поле с помощью зарезервированных слов DROP COLUMN. В этом случае укажите только имя поля.
- Удалить составной индекс с помощью зарезервированных слов DROP CONSTRAINT. В этом случае укажите только имя составного индекса, следующее за зарезервированным словом CONSTRAINT.
Нельзя добавить или удалить одновременно несколько полей или индексов.
Пример if exists(SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'STUDENT' and CONSTRAINT_NAME = 'chk_recordbook_num')
Alter table STUDENT drop constraint chk_recordbook_num
Команда удаления таблицы и команды удаления данных из таблицы. Синтаксис, подробное описание секций команд. Примеры.
DROP {TABLE таблица | INDEX индекс ON таблица | PROCEDURE процедура | VIEW представление}
Ниже перечислены аргументы инструкции DROP:
Элемент | Описание |
таблица | Имя таблицы, которую следует удалить или из которой следует удалить индекс. |
процедура | Имя удаляемой процедуры. |
представление | Имя удаляемого представления. |
индекс | Имя индекса, удаляемого из таблицы. |
Дополнительные сведения
Прежде чем удалить таблицу или удалить из нее индекс, необходимо ее закрыть.
Кроме того, для удаления индекса из таблицы можно использовать инструкцию ALTER TABLE.
Для создания таблицы можно использовать инструкцию CREATE TABLE, а для создания индекса - инструкцию CREATE INDEX или ALTER TABLE. Чтобы изменить таблицу, примените инструкцию ALTER TABLE.
Пример
DROP TABLE PERSONS