EN
PostgreSQL - Alter Table
0
points
In this article, we would like to show you how to modify a table in PostgreSQL.
Quick solution:
ALTER TABLE "table_name"
ADD "column_name" DATA_TYPE;
ALTER TABLE "table_name"
ALTER COLUMN "column_name" TYPE 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:
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"):
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"):
ALTER TABLE - ALTER COLUMN
In this example, we will modify salary column datatype from DECIMAL to VARCHAR.
Query:
ALTER TABLE "users"
ALTER COLUMN "salary" TYPE VARCHAR(255);
Output:
Database preparation
create_tables.sql file:
CREATE TABLE "users" (
"id" SERIAL,
"name" VARCHAR(50) NOT NULL,
"surname" VARCHAR(50) NOT NULL,
"department_id" INTEGER,
"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');