ALTER TABLE ОПЕРАТОР

В этом учебном пособии вы узнаете, как использовать в Oracle/PLSQL оператор ALTER TABLE, чтобы добавить столбец, изменить столбец, удалить столбец, переименовать столбец или переименовать таблицу (с синтаксисом, примерами и практическими упражнениями).

Описание

Оператор Oracle/PLSQL ALTER TABLE используется для добавления, изменения или удаления столбца в таблице. Оператор Oracle/PLSQL ALTER TABLE также используется для переименования таблиц.

Добавить столбец в таблицу

Синтаксис

Синтаксис ALTER TABLE для добавления столбца в таблицу Oracle:

ALTER TABLE table_name
ADD column_name column-definition;

Пример

Рассмотрим на примере, как добавить столбец в таблицу Oracle с помощью оператора ALTER TABLE.
Например:

В этом примере оператор ALTER TABLE добавит столбец customer_name к таблице customers (клиенты).

Добавление нескольких столбцов в таблицу

Синтаксис

Синтаксис ALTER TABLE для добавления несколько столбцов в существующую таблицу Oracle:

ALTER TABLE table_name
ADD (column_1 column-definition,
column_2 column-definition,
...
column_n column_definition);

Пример

Рассмотрим пример, который показывает, как добавить несколько столбцов в таблицу Oracle с помощью оператора ALTER TABLE.
Например:

В этом примере ALTER TABLE добавит в таблицу customers два столбца, customer_name varchar2 (45) и city varchar2 (40).

Изменить столбец в таблице

Синтаксис

Синтаксис ALTER TABLE для изменения столбца в существующей таблице Oracle:

ALTER TABLE table_name
MODIFY column_name column_type;

Пример

Рассмотрим пример, который показывает, как изменить столбец в таблице Oracle с помощью оператора ALTER TABLE.
Например:

В этом примере ALTER TABLE будет модифицировать столбец customer_name в тип данных VARCHAR2 (100) и указывает столбцу не принимать значения NULL.

Изменение нескольких столбцов в таблице

Синтаксис

Синтаксис ALTER TABLE для редактирования нескольких столбцов в существующей таблице Oracle:

ALTER TABLE table_name
MODIFY (column_1 column_type,
column_2 column_type,
...
column_n column_type);

Пример

Рассмотрим пример, который показывает, как изменить несколько столбцов в таблице Oracle с помощью оператора ALTER TABLE.
Например:

В этом примере ALTER TABLE модифицирует столбцы customer_name и city.

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

Синтаксис

Синтаксис ALTER TABLE для удаления столбца в существующей таблице Oracle:

ALTER TABLE table_name
DROP COLUMN column_name;

Пример

Рассмотрим пример, который показывает, как удалить столбец из таблицы Oracle с помощью оператора ALTER TABLE.
Например:

В этом примере Oracle/PLSQL ALTER TABLE удалит столбец customer_name из таблицы customers.

Переименование столбца в таблице

Синтаксис

Начиная с Oracle 9i Release 2, вы можете переименовать столбец.
Синтаксис ALTER TABLE для переименования столбца в существующей таблице Oracle,:

ALTER TABLE table_name
RENAME COLUMN old_name to new_name;

Пример

Рассмотрим пример, который показывает, как переименовать столбец в таблице Oracle с помощью оператора ALTER TABLE.
Например:

В этом примере Oracle/PLSQL ALTER TABLE переименует столбец customer_name в cname.

Переименовать таблицу

Синтаксис

Синтаксис ALTER TABLE для переименования таблицы Oracle:

ALTER TABLE table_name
RENAME TO new_table_name;

Пример

Рассмотрим пример, который показывает, как переименовать таблицу в Oracle с помощью оператора ALTER TABLE.
Например:

В этом примере Oracle/PLSQL ALTER TABLE переименует таблицу customers в contacts.

Практическое упражнение №1:

На основании таблицы departments ниже, переименовать таблицу departments в depts.

Решение для практического упражнения №1:

Следующий оператор Oracle/PLSQL ALTER TABLE переименует таблицу departments в depts:

Практическое упражнение №2:

На основании таблицы employees ниже, добавьте столбец с наименованием bonus, и типом данных number (6).

Решение для практического упражнения №2:

Следующий оператор Oracle/PLSQL ALTER TABLE добавит столбец bonus к таблице employees:

Практическое упражнение №3:

На основании таблицы customers ниже, добавьте два столбца. Один столбец с названием contact_name и типом данных VARCHAR2 (50), второй столбец с названием last_contacted и типом данных DATE.

Решение для практического упражнения №3:

Следующий оператор Oracle/PLSQL ALTER TABLE добавит столбцы contact_name и last_contacted в таблицу customers:

Практическое упражнение №4:

На основании таблицы employees ниже, модифицируйте тип данных столбца employee_name в varchar2 (80).

Решение для практического упражнения №4:

Следующий оператор Oracle/PLSQL ALTER TABLE модифицирует тип данных для столбца employee_name в varchar2 (80):

Практическое упражнение №5:

На основании таблицы customers ниже, модифицируйте столбец customer_name, чтобы он не мог принимать значения NULL и изменить типа данных в столбце state в varchar2 (2).

Решение для практического упражнения №5:

Следующий оператор Oracle/PLSQL ALTER TABLE модифицирует столбцы customer_name и state в таблице customers:

Практическое упражнение №6:

На основании таблицы employees ниже, удалить столбец salary.

Решение для практического упражнения №6:

Следующий оператор Oracle/PLSQL ALTER TABLE удалит столбец salary из таблицы employees:

Практическое упражнение №7:

На основании таблицы departments ниже, переименовать столбец department_name в dept_name.

Решение для практического упражнения №7:

Следующий оператор Oracle/PLSQL ALTER TABLE переименует столбец department_name в dept_name в таблице departments:

Узнайте как использовать оператор ALTER TABLE в распространенных БД: