Создание таблиц
- Основы создания таблиц
- Работа со значениями NULL
- Определение значений по умолчанию
- Обновление таблиц
- Переименование и удаление таблиц
Обновление таблиц
Для того чтобы обновить определения таблицы, следует воспользоваться оператором ALTER TABLE. Хотя все СУБД поддерживают этот оператор, то, что они при этом позволяют вам делать, в значительной степени зависит от реализации СУБД. Ниже приведены несколько соображений по поводу применения оператора ALTER TABLE.
• В идеальном случае структура таблицы вообще не должна меняться после того, как в таблицу введены данные. Вам придется потратить немало времени, пытаясь предугадать будущие потребности в процессе разработки таблиц, чтобы позже не потребовалось вносить в их структуру существенные изменения.
• Все СУБД позволяют добавлять в уже существующие таблицы столбцы, но некоторые ограничивают типы данных, которые могут быть добавлены (а заодно и использование значений NULL и DEFAULT).
• Многие СУБД не позволяют удалять или изменять столбцы в таблице.
• Большинство СУБД разрешают переименовывать столбцы.
• Многие СУБД налагают серьезные ограничения на изменения, которые могут быть сделаны по отношению к заполненным столбцам, и несколько меньшие — по отношению к незаполненным.
Как видите, вносить изменения в существующие таблицы ничуть не проще, чем создавать их заново. Обратитесь к документации вашей СУБД, чтобы уточнить, что можно изменять.
Чтобы изменить таблицу посредством оператора ALTER TABLE, нужно ввести следующую информацию.
• Имя таблицы, подлежащей изменению, после ключевых слов ALTER TABLE. (Таблица с таким именем должна существовать, иначе будет выдано сообщение
об ошибке.)
• Список изменений, которые должны быть сделаны. Поскольку добавление столбцов в таблицу — единственная операция, поддерживаемая всеми СУБД, именно ее мы рассмотрим в качестве примера.
ADD vend_phone CHAR(20);
Посредством этого оператора в таблицу Vendors добавляется столбец, названный vend_phone. Должен быть определен тип данных.
Другие операции изменения, например, изменение или удаление столбцов, введение ограничений или ключей, требуют похожего синтаксиса. (Отметим, что следующий пример будет работать уже не во всех СУБД.)
Сложные изменения структуры таблицы обычно выполняются вручную и включают следующие шаги.
• Восстановление триггеров, хранимых процедур, индексов и внешних ключей, если это необходимо.


