ALTER в Oracle SQL — как управлять структурой БД

🟢 ALTER в Oracle SQL. Введение

Базы данных постоянно развиваются: появляются новые поля, изменяются типы данных, добавляются ограничения.
Для таких задач в Oracle используется оператор ALTER, который позволяет модифицировать объекты БД без удаления или пересоздания.


🔤 Написание

sql
ALTER объект объект_имя операция;

🧮 Пример:

sql
ALTER TABLE employees ADD (phone_number VARCHAR2(20));

Добавляет новый столбец в таблицу employees.


🔄 Где часто используется

  • Добавление новых столбцов в таблицу

  • Изменение типа данных

  • Удаление ненужных полей

  • Добавление/удаление ограничений (PK, FK, CHECK)

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

  • Изменение хранимых процедур, представлений и др.


🧪 10 Примеров использования ALTER с пояснениями

1️⃣ Добавление нового столбца

sql
ALTER TABLE employees ADD (middle_name VARCHAR2(50));

Теперь в таблице есть поле для отчества.


2️⃣ Удаление столбца

sql
ALTER TABLE employees DROP COLUMN middle_name;

Удаляет поле middle_name.


3️⃣ Изменение типа данных столбца

sql
ALTER TABLE employees MODIFY (salary NUMBER(12,2));

Изменяем формат зарплаты — больше разрядов.


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

sql
ALTER TABLE employees RENAME COLUMN hiredate TO hire_date;

Становится более читаемым и в стиле snake_case.


5️⃣ Переименование таблицы

sql
ALTER TABLE employees RENAME TO staff;

Таблица employees теперь staff.


6️⃣ Добавление первичного ключа

sql
ALTER TABLE departments
ADD CONSTRAINT dept_pk PRIMARY KEY (department_id);

Добавляет ограничение уникальности.


7️⃣ Удаление ограничений

sql
ALTER TABLE departments
DROP CONSTRAINT dept_pk;

Удаляем ранее установленный PK.


8️⃣ Добавление внешнего ключа

sql
ALTER TABLE employees
ADD CONSTRAINT emp_dept_fk FOREIGN KEY (department_id)
REFERENCES departments(department_id);

Связываем таблицу сотрудников с отделами.


9️⃣ Отключение/включение ограничений

sql
ALTER TABLE employees DISABLE CONSTRAINT emp_dept_fk;
ALTER TABLE employees ENABLE CONSTRAINT emp_dept_fk;

Удобно при массовой загрузке данных.


🔟 Добавление столбца с DEFAULT значением

sql
ALTER TABLE employees
ADD (active_status CHAR(1) DEFAULT 'Y');

Добавляем флаг активности со значением по умолчанию.


🧩 Заключение

Оператор ALTER — это незаменимый инструмент администратора и разработчика БД. Он позволяет гибко управлять схемой базы данных, адаптируя её к новым требованиям без необходимости пересоздания таблиц и потери данных.

💡 Запомни:

  • ALTER TABLE — основное применение

  • Поддерживает добавление, удаление, переименование, изменение

  • Работает также с VIEW, INDEX, TRIGGER, SEQUENCE, USER

  • Используется в администрировании и DevOps-процессах


🔜 Следующая статья:

MODEL в Oracle SQL: продвинутые вычисления и прогнозы прямо в запросе


Понравилась статья? Поделиться с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии