Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лекция 14. Создание, модификация и удаление таблиц

Поиск

План:

  1. Создание таблицы
  2. Модификация таблиц
  3. Удаление таблиц

 

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

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

(<имя_столбца> <тип_столбца>

[NOT NULL]

[UNIQUE | PRIMARY KEY]

[REFERENCES <имя_ таблицы> (<имя_столбца>)]

,...)

 

Пользователь обязан указать имя таблицы и список столбцов. Для каждого столбца обязательно указываются его имя и тип, а также опционально могут быть указаны параметры:

  • NOT NULL - в этом случае элементы столбца всегда должны иметь определенное значение (не NULL)
  • один из взаимоисключающих параметров UNIQUE - значение каждого элемента столбца должно быть уникальным или PRIMARY KEY - столбец является первичным ключом.
  • REFERNCES <имя_мастер_таблицы> [<имя_столбца>] - эта конструкция определяет, что данный столбец является внешним ключом и указывает на ключ какой мастер_таблицы он ссылается.

Контроль за выполнением указанных условий осуществляет СУБД

 

Модификация таблиц

 

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

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

·

    • добавить в таблицу определение нового столбца;
    • удалить столбец из таблицы;
    • изменить значение по умолчанию для какого-либо столбца;
    • добавить или удалить первичный ключ таблицы;
    • добавить или удалить внешний ключ таблицы;
    • добавить или удалить условие уникальности;
    • добавить или удалить условие на значение.

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

Назначение многих параметров и ключевых слов команды ALTER TABLE аналогично назначению соответствующих параметров и ключевых слов команды CREATE TABLE.

Рассмотрим основные режимы использования команды ALTER TABLE:

  • добавление столбца;
  • удаление столбца;
  • модификация столбца;

 

  1. Добавление столбца

 

ALTER TABLE <имя_таблицы> ADD
(<имя_столбца> <тип_столбца>
[NOT NULL]
[UNIQUE | PRIMARY KEY]
[REFERENCES <имя_мастер_таблицы> (<имя_столбца>)]
,...)

  1. Модификация столбца

 

ALTER TABLE <имя_таблицы>
ALTER COLUMN(<имя_столбца> <тип_столбца>
[NOT NULL]
[UNIQUE | PRIMARY KEY]
[REFERENCES <имя_мастер_таблицы> (<имя_столбца>)]
,...)

 

Изменение столбца невозможно, если:

  • столбец участвует в ограничениях PRIMARY KEY или FOREIGN KEY;
  • на столбец наложены ограничения целостности, например UNIQUE (исключение – столбцы, имеющие тип данных переменной длины;
  • со столбцом связано значение по умолчанию.

Определяя для столбца новый тип данных, следует помнить о том, что старый тип данных должен конвертироваться в новый.

 

  1. Удаление столбца

 

ALTER TABLE <имя_таблицы> DROP

(<имя_столбца>

,...)

 

Нельзя удалять столбцы с ограничением целостности CHECK, FOREIGN KEY, UNIQUE или PRIMARY KEY, а также столбцы, для которых определены значения по умолчанию.


Удаление таблиц

 

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

 

Невозможно удалить таблицу, если на нее ссылается другая таблица.

 

Вопросы для самоконтроля:

  1. Приведите общий синтаксис SQL-оператора для создания таблицы.
  2. Приведите общий синтаксис SQL-оператора для добавления столбца в таблицу.
  3. Приведите общий синтаксис SQL-оператора для модификации столбца.
  4. В каких случаях модификация столбца невозможна?
  5. Приведите общий синтаксис SQL-оператора для удаления столбца.
  6. В каких случаях удаление столбца невозможно?

 

 



Поделиться:


Последнее изменение этой страницы: 2021-02-07; просмотров: 1966; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.41.108 (0.006 с.)