SQL: ALTER TABLE Statement Learn how to use the SQL ALTER TABLE statement to add a column, modify a column, drop a column, rename a column or rename a table (with lots of clear, concise examples). We've also added some practice exercises that you can try for yourself. Description The SQL ALTER TABLE statement is used to add, modify, or drop/delete columns in a table. The SQL ALTER TABLE statement is also used to rename a table. Add column in table Syntax To add a column in a table, the SQL ALTER TABLE syntax is: ALTER TABLE table_name ADD column_name column-definition; Example Let's look at a SQL ALTER TABLE example that adds a column. For example: ALTER TABLE supplier ADD supplier_name varchar2(50); This SQL ALTER TABLE example will add a column called supplier_name to the supplier table. Add multiple columns in table Syntax To add multiple columns to an existing table, the SQL ALTER TABLE syntax is: ALTER TABLE table_name ADD (column_1 column-definition, column_2 column-definition, ... column_n column_definition); Example Let's look at SQL ALTER TABLE example that adds more than one column. For example: ALTER TABLE supplier ADD (supplier_name varchar2(50), city varchar2(45)); This SQL ALTER TABLE example will add two columns, supplier_name as a varchar2(50) field and city as a varchar2(45) field to the supplier table. Modify column in table Syntax To modify a column in an existing table, the SQL ALTER TABLE syntax is: ALTER TABLE table_name MODIFY column_name column_type; Example Let's look at SQL ALTER TABLE example that modifies a column. For example: ALTER TABLE supplier MODIFY supplier_name varchar2(100) not null; This SQL ALTER TABLE example will modify the column called supplier_name to be a data type of varchar2(100) and force the column to not allow null values. Modify multiple columns in table Syntax To modify multiple columns in an existing table, the SQL ALTER TABLE syntax is: ALTER TABLE table_name MODIFY (column_1 column_type, column_2 column_type, ... column_n column_type); Example Let's look at SQL ALTER TABLE example that modifies more than one column. For example: ALTER TABLE supplier MODIFY (supplier_name varchar2(100) not null, city varchar2(75)); This SQL ALTER TABLE example will modify both the supplier_name and city columns. Drop column in table Syntax To drop a column in an existing table, the SQL ALTER TABLE syntax is: ALTER TABLE table_name DROP COLUMN column_name; Example Let's look at SQL ALTER TABLE example that drops (ie: deletes) a column from a table. For example: ALTER TABLE supplier DROP COLUMN supplier_name; This SQL ALTER TABLE example will drop the column called supplier_name from the table called supplier. Rename column in table Syntax To rename a column in an existing table, the SQL ALTER TABLE syntax is: ALTER TABLE table_name RENAME COLUMN old_name to new_name; Example Let's look at SQL ALTER TABLE example that renames a column in a table. For example: ALTER TABLE supplier RENAME COLUMN supplier_name to sname; This SQL ALTER TABLE example will rename the column called supplier_name to sname. Rename table Syntax To rename a table, the SQL ALTER TABLE syntax is: ALTER TABLE table_name RENAME TO new_table_name;