ALTER TABLE

 ALTER TABLE constraints

QN:1

 You have a table customers with a column email that currently allows NULL values. Modify the table so that future entries must always have an email.

Query:

ALTER TABLE customers
ALTER COLUMN email SET NOT NULL;


since, email should not be empty for future records.. we use SET NOT NULL

QN:2 

In the users table, ensure that the username column is unique across all records using an ALTER statement.

Query:

ALTER TABLE users
ADD CONSTRAINT unique_username UNIQUE (username);


since, username should not repeat.. we add UNIQUE constraint

QN:3 

In the products table, enforce that price must always be greater than 0 using an ALTER command.

Query:

ALTER TABLE products
ADD CONSTRAINT check_price CHECK (price > 0);


since, price should always be greater than 0.. we use CHECK constraint

QN:4

 Modify the orders table so that the status column defaults to 'pending' if no value is provided during insertion.

Query:

ALTER TABLE orders
ALTER COLUMN status SET DEFAULT 'pending';


since, if no value is given.. status should automatically become pending

QN:5 

Alter the employees table by adding a new column salary such that
It cannot be NULL
It must always be greater than 10,000

Query:

ALTER TABLE employees
ADD COLUMN salary INT NOT NULL CHECK (salary > 10000);


since, salary should not be empty and must be above 10000.. we use NOT NULL and CHECK

QN:6 

Modify the foreign key constraint between employees and departments so that when a department is deleted, all related employees are automatically removed.

Query:

ALTER TABLE employees
DROP CONSTRAINT employees_department_id_fkey;

ALTER TABLE employees
ADD CONSTRAINT employees_department_id_fkey
FOREIGN KEY (department_id) REFERENCES departments(id)
ON DELETE CASCADE;


since, existing foreign key cannot be modified directly.. we drop and recreate with CASCADE

QN:7 

In the accounts table, remove an existing CHECK constraint that enforces balance >= 0.

Query:

ALTER TABLE accounts
DROP CONSTRAINT accounts_balance_check;


since, we want to remove condition on balance.. we drop CHECK constraint

QN:8

 In the payments table, ensure that the combination of user_id and transaction_id is unique using an ALTER TABLE statement.

Query:

ALTER TABLE payments
ADD CONSTRAINT unique_payment UNIQUE (user_id, transaction_id);


since, same user should not have duplicate transaction_id.. we use combination UNIQUE

Comments

Popular posts from this blog

THE DELIVERY MAN

EC2 LAUNCHING

SORT A LINKED LIST USING MERGE SORT