🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to MySQL Notes
Topic #51

MySQL Alter Table


MySQL ALTER TABLE Statement

The ALTER TABLE statement is used to add, delete, or modify columns in an existing table.

The ALTER TABLE statement is also used to add and drop various constraints on an existing table.

Common ALTER TABLE operations are:

  • Add column - Adds a new column to a table
  • Drop column - Deletes a column in a table
  • Rename column - Renames a column
  • Modify column - Changes the data type, size, or constraints of a column
  • Add constraint - Adds a new constraint
  • Rename table - Renames a table

ALTER TABLE - ADD Column

To add a column in a table, use the following syntax:

Syntax

ALTER TABLE table_name
ADD column_name datatype;

The following SQL adds an "Email" column to the "Customers" table:

Example

ALTER TABLE Customers
ADD Email varchar(255);

ALTER TABLE - DROP COLUMN

To delete a column in a table, use the following syntax:

Syntax

ALTER TABLE table_name
DROP COLUMN column_name;

The following SQL deletes the "Email" column from the "Customers" table:

Example

ALTER TABLE Customers
DROP COLUMN Email;

ALTER TABLE - RENAME COLUMN

To rename a column in a table, use the following syntax:

Syntax

ALTER TABLE table_name
RENAME COLUMN old_name to new_name;

ALTER TABLE - MODIFY Datatype

To modify the data type, size or constraints of a column in a table, use the following syntax:

Syntax

ALTER TABLE table_name
MODIFY column_name new_datatype constraint;

The following SQL modifies the size of the "Email" column to varchar(100), and we also add a NOT NULL constraint:

Example

ALTER TABLE Customers
MODIFY Email varchar(100) NOT NULL;

ALTER TABLE - ADD CONSTRAINT

To add a constraint to an existing table, use the following syntax:

Syntax

ALTER TABLE table_name
ADD CONSTRAINT constraint_name constraint_definition;

The following SQL adds a constraint named "CHK_Age" that is a CHECK constraint that ensures that the "Age" column has a value of 18 and above:

Example

ALTER TABLE Members
ADD CONSTRAINT CHK_Age CHECK (Age >= 18);

ALTER TABLE - Rename table

To rename a table, use the following syntax:

Syntax

ALTER TABLE table_name
RENAME TO new_table_name;

The following SQL renames the "Customers" table to "Clients":

Example

ALTER TABLE Customers
RENAME TO Clients;

MySQL ALTER TABLE Example

Assume we have a "Persons" table, that looks like this:

ID LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Now we want to add a column named "DateOfBirth" in the "Persons" table.

We use the following SQL statement:

Example

ALTER TABLE Persons
ADD DateOfBirth date;

Notice that the new column, "DateOfBirth", is of type date and is going to hold a date. The data type specifies what type of data the column can hold. For a complete reference of all the data types available in MySQL, go to our Data Types reference.

The "Persons" table will now look like this:

ID LastName FirstName Address City DateOfBirth
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Change Data Type Example

Now we want to change the data type of the column named "DateOfBirth" in the "Persons" table.

We use the following SQL statement:

Example

ALTER TABLE Persons
MODIFY COLUMN DateOfBirth year;

Notice that the "DateOfBirth" column is now of type year and is going to hold a year in a two- or four-digit format.


DROP COLUMN Example

Next, we want to delete the column named "DateOfBirth" in the "Persons" table.

We use the following SQL statement:

Example

ALTER TABLE Persons
DROP COLUMN DateOfBirth;

The "Persons" table will now look like this:

ID LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Want to go beyond the notes?

Join CodingNow 2.0's MySQL course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

MySQL Alter Table – FAQs

Quick answers about learning MySQL Alter Table in MySQL.

This free note from CodingNow 2.0 explains MySQL Alter Table in MySQL — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every MySQL topic on CodingNow 2.0, including MySQL Alter Table, is 100% free with no signup required.
With focused practice, most students grasp MySQL Alter Table in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now