Languages
[Edit]
EN

MS SQL Server - Alter Table

0 points
Created by:
Roseanne-Read
1365

In this article, we would like to show you how to modify a table in MS SQL Server.

Quick solution:

ALTER TABLE [table_name]
ADD [column_name] DATA_TYPE;
ALTER TABLE [table_name]
ALTER COLUMN [column_name] DATA_TYPE;
ALTER TABLE [table_name]
DROP COLUMN [column_name];

Note:

Go to the official documentation to see what you can use as DATA_TYPE.

Practical examples

To show how the ALTER TABLE statement works, we will use the following table:

MS SQL Server - example data used with ALTER TABLE statement
MS SQL Server - example data used with ALTER TABLE statement

Note:

At the end of this article you can find database preparation SQL queries.

ALTER TABLE - ADD COLUMN

In this example, we will add email column to the users table.

Query:

ALTER TABLE [users]
ADD [email] VARCHAR(255);

Output (SELECT * FROM [users]):

MS SQL Server - ALTER TABLE result in HeidiSQL
MS SQL Server - ALTER TABLE result in HeidiSQL

ALTER TABLE - DROP COLUMN

In this example, we will delete the department_id column.

Query:

ALTER TABLE [users]
DROP COLUMN [department_id];

Output (SELECT * FROM [users]):

MS SQL Server - ALTER TABLE result in HeidiSQL
MS SQL Server - ALTER TABLE result in HeidiSQL

ALTER TABLE - ALTER COLUMN

In this example, we will modify salary column datatype from DECIMAL to VARCHAR.

Query:

ALTER TABLE [users]
ALTER COLUMN [salary] VARCHAR(255);

Output:

MS SQL Server - ALTER TABLE result in HeidiSQL (before)
MS SQL Server - ALTER TABLE result in HeidiSQL (before)
MS SQL Server - ALTER TABLE result in HeidiSQL (after)
MS SQL Server - ALTER TABLE result in HeidiSQL (after)

 Database preparation

create_tables.sql file:

CREATE TABLE [users] (
	[id] INT IDENTITY(1,1),
	[name] VARCHAR(50) NOT NULL,
	[surname] VARCHAR(50) NOT NULL,
	[department_id] INT,
    [salary] DECIMAL(15,2) NOT NULL,
	PRIMARY KEY ([id])
);

insert_data.sql file:

INSERT INTO [users]
	( [name], [surname], [department_id], [salary])
VALUES
	('John', 'Stewart', 1, '3512.00'),
	('Chris', 'Brown', 2, '1344.00'),
	('Kate', 'Lewis', 3, '6574.00'),
	('Ailisa', 'Gomez', NULL, '6500.00'),
	('Gwendolyn', 'James', 2, '4200.00'),
	('Simon', 'Collins', 4, '3320.00'),
	('Taylor', 'Martin', 2, '1500.00'),
	('Andrew', 'Thompson', NULL, '2100.00');
Donate to Dirask
Our content is created by volunteers - like Wikipedia. If you think, the things we do are good, donate us. Thanks!
Join to our subscribers to be up to date with content, news and offers.

MS SQL Server

Native Advertising
🚀
Get your tech brand or product in front of software developers.
For more information Contact us
Dirask - we help you to
solve coding problems.
Ask question.

❤️💻 🙂

Join