Languages
[Edit]
EN

MS SQL Server - Alter Table

0 points
Created by:
Dirask JS Member
3610

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');

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