Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
подготовка к гос экзамену.doc
Скачиваний:
18
Добавлен:
25.09.2019
Размер:
298.5 Кб
Скачать

Вопрос 25. Управление таблицами в sql

  1. Команда создания таблицы CREATE TABLE

С помощью этой команды происходит создание таблицы. Синтаксис команды:

CREATE TABLE имя_таблицы

({<определение столбца><определение ограничения таблицы>} [,......,] {({<определение столбца><определение ограничения таблицы>})

То есть после задания имени таблицы через запятую в круглых скобках должны быть перечислены все предложения , определяющие отдельные элементы таблицы – столбцы или ограничения целостности

  1. Изменение структуры таблицы – команда ALTER TABLE

Как бы тщательно не планировалась структура таблицы, иногда возникает необходимость внести в нее некоторые изменения. Предположим, что в уже сформированную таблицу «Преподаватели» необходимо добавить номер домашнего телефона и домашний адрес. Эту операцию можно выполнить разными путями. Например, можно удалить старую таблицу и создать новую с нужной структурой, при этом нужно будет скопировать имеющиеся данные и переписать их в новую таблицу после ее создания.

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

- добавить в таблицу определение нового столбца

- удалить столбец из таблицы

- изменить значение по умолчанию для какого-либо столбца

- добавить или удалить первичный или внешний ключи таблицы

- добавить или удалить условие уникальности

- добавить или удалить условие на значение

Например: для добавления нового столбца используется ключевое слово ADD, после которого должно стоять определение столбца. Добавим в таблицу «Студенты» столбец «Год поступления»:

ALTER TABLE Студенты

ADD Год_поступления INTEGER NOT NULL DEFAULT

YEAR (GETDATE())

После выполнения этой команды в структуру таблицы «Студенты» будет добавлен столбец со значением по умолчанию, равным текущему году. Значение по умолчанию вычисляется с помощью двух встроенных функций YEAR () и GETDATE ())

Удаление столбца. Для удаления используется предложение DROP COLUMN (имя столбца). При удалении столбцов следует учитывать, что нельзя удалять столбцы с ограничениями целостности, а также столбцы для которых определены значения по умолчанию.

Например, удалим из таблицы «Студенты» столбец «Год поступления»:

ALTER TABLE Студенты

DROP COLUMN Год_поступления

Удаление всей таблицы. Выполняется при помощи команды DROP TABLE <имя таблицы>

Единственный аргумент команды задает имя таблицы, которую необходимо удалить. Операция удаления таблицы также требует определенного внимания. Невозможно удалить таблицу, если на нее с помощью ограничения целостности FOREIGN KEY ссылается другая таблица: попытка удаления таблицы «Дисциплины» вызовет сообщение об ошибке, так как на таблицу «Дисциплины» ссылается таблица «Учебный план». При этом на команду

DROP TABLE Дисциплины

будет выведено сообщение об ошибке, о том, что эту таблицу удалить нельзя.