This Oracle tutorial explains how to use the Oracle ALTER TABLE statement to add a column, modify a column, drop a column, rename a column or rename a table (with syntax, examples and practice exercises).
The Oracle ALTER TABLE statement is used to add, modify, or drop/delete columns in a table. The Oracle ALTER TABLE statement is also used to rename a table.
To ADD A COLUMN in a table, the Oracle ALTER TABLE syntax is:
Let's look at an example that shows how to add a column in an Oracle table using the ALTER TABLE statement.
For example:
This Oracle ALTER TABLE example will add a column called customer_name to the customers table that is a data type of varchar2(45).
In a more complicated example, you could use the ALTER TABLE statement to add a new column that also has a default value:
In this example, the column called city has been added to the customers table with a data type of varchar2(40) and a default value of 'Seattle'.
To ADD MULTIPLE COLUMNS to an existing table, the Oracle ALTER TABLE syntax is:
Let's look at an example that shows how to add multiple columns in an Oracle table using the ALTER TABLE statement.
For example:
This Oracle ALTER TABLE example will add two columns, customer_name as a varchar2(45) field and city as a varchar2(40) field with a default value of 'Seattle' to the customers table.
To MODIFY A COLUMN in an existing table, the Oracle ALTER TABLE syntax is:
Let's look at an example that shows how to modify a column in an Oracle table using the ALTER TABLE statement.
For example:
This Oracle ALTER TABLE example will modify the column called customer_name to be a data type of varchar2(100) and force the column to not allow null values.
In a more complicated example, you could use the ALTER TABLE statement to add a default value as well as modify the column definition:
In this example, the ALTER TABLE statement would modify the column called city to be a data type of varchar2(75), the default value would be set to 'Seattle' and the column would be set to not allow null values.
To MODIFY MULTIPLE COLUMNS in an existing table, the Oracle ALTER TABLE syntax is:
Let's look at an example that shows how to modify multiple columns in an Oracle table using the ALTER TABLE statement.
For example:
This Oracle ALTER TABLE example will modify both the customer_name and city columns. The customer_name column will be set to a varchar2(100) data type and not allow null values. The city column will be set to a varchar2(75) data type, its default value will be set to 'Seattle', and the column will not allow null values.
To DROP A COLUMN in an existing table, the Oracle ALTER TABLE syntax is:
Let's look at an example that shows how to drop a column in an Oracle table using the ALTER TABLE statement.
For example:
This Oracle ALTER TABLE example will drop the column called customer_name from the table called customers.
Starting in Oracle 9i Release 2, you can now rename a column.
To RENAME A COLUMN in an existing table, the Oracle ALTER TABLE syntax is:
Let's look at an example that shows how to rename a column in an Oracle table using the ALTER TABLE statement.
For example:
This Oracle ALTER TABLE example will rename the column called customer_name to cname.
To RENAME A TABLE, the Oracle ALTER TABLE syntax is:
Let's look at an example that shows how to rename a table in Oracle using the ALTER TABLE statement.
For example:
This Oracle ALTER TABLE example will rename the customers table to contacts.
Based on the departments table below, rename the departments table to depts.
The following Oracle ALTER TABLE statement would rename the departments table to depts:
Based on the employees table below, add a column called bonus that is a number(6) datatype.
The following Oracle ALTER TABLE statement would add a bonus column to the employees table:
Based on the customers table below, add two columns - one column called contact_name that is a varchar2(50) datatype and one column called last_contacted that is a date datatype.
The following Oracle ALTER TABLE statement would add the contact_name and last_contacted columns to the customers table:
Based on the employees table below, change the employee_name column to a varchar2(75) datatype.
The following Oracle ALTER TABLE statement would change the datatype for the employee_name column to varchar2(75):
Based on the customers table below, change the customer_name column to NOT allow null values and change the state column to a varchar2(2) datatype.
The following Oracle ALTER TABLE statement would modify the customer_name and state columns accordingly in the customers table:
Based on the employees table below, drop the salary column.
The following Oracle ALTER TABLE statement would drop the salary column from the employees table:
Based on the departments table below, rename the department_name column to dept_name.
The following Oracle ALTER TABLE statement would rename the department_name column to dept_name in the departments table: