Ответ
Да, для этого используется оператор ALTER TABLE. Основные типы ограничений и синтаксис их добавления:
-- 1. PRIMARY KEY
ALTER TABLE employees ADD CONSTRAINT pk_emp_id PRIMARY KEY (emp_id);
-- 2. FOREIGN KEY
ALTER TABLE orders ADD CONSTRAINT fk_customer
FOREIGN KEY (customer_id) REFERENCES customers(id);
-- 3. UNIQUE
ALTER TABLE products ADD CONSTRAINT uq_product_code UNIQUE (product_code);
-- 4. CHECK
ALTER TABLE employees ADD CONSTRAINT chk_salary CHECK (salary > 0);
-- 5. NOT NULL (синтаксис отличается)
ALTER TABLE employees ALTER COLUMN email SET NOT NULL;
-- или (в некоторых СУБД, например, MySQL)
ALTER TABLE employees MODIFY COLUMN email VARCHAR(100) NOT NULL;
Важное условие: Все существующие данные в таблице должны удовлетворять новому ограничению, иначе операция завершится ошибкой.