PostgreSQL

Chapter 5 - DDL (Data Definition Language)

ALTER TABLE

In PostgreSQL, the ALTER TABLE statement is used to modify an existing table structure. This powerful command allows you to add, remove, or change columns and constraints in a table. Understanding how to use ALTER TABLE is essential for adapting your database schema as your application evolves. Below, you'll find a step-by-step guide on how to use ALTER TABLE, with examples related to a banking system including customers, accounts, and transactions tables.

Steps to Modify Tables Using ALTER TABLE

  1. Add a New Column
    ALTER TABLE table_name
    ADD COLUMN column_name data_type [constraints];
    • table_name: The name of the table you want to modify.
    • column_name: The name of the new column to add.
    • data_type: The type of data the new column will hold.
    • constraints: Optional rules for the new column.
    Example: Adding a Phone Number to customers Table
    ALTER TABLE customers
    ADD COLUMN phone_number VARCHAR(15);
  2. Drop an Existing Column
    ALTER TABLE table_name
    DROP COLUMN column_name;
    • table_name: The name of the table you want to modify.
    • column_name: The name of the column to remove.
    Example: Removing Email Column fromcustomersTable
    ALTER TABLE customers
    DROP COLUMN email;
  3. Modify a Column Data Type
    ALTER TABLE table_name
    ALTER COLUMN column_name TYPE new_data_type;
    • table_name: The name of the table containing the column.
    • column_name: The name of the column to modify.
    • new_data_type: The new data type for the column.
    Example: Changing Balance Data Type inaccountsTable
    ALTER TABLE accounts
    ALTER COLUMN balance TYPE NUMERIC(18, 2);
  4. Rename a Column
    ALTER TABLE table_name
    RENAME COLUMN old_column_name TO new_column_name;
    • table_name: The name of the table containing the column.
    • old_column_name: The current name of the column.
    • new_column_name: The new name of the column.
    Example: Renamingtransaction_typetotypeintransactionsTable
    ALTER TABLE transactions
    RENAME COLUMN transaction_type TO type;
  5. Add a Constraint
    ALTER TABLE table_name
    ADD CONSTRAINT constraint_name constraint_type (column_name);
    • table_name: The name of the table to modify.
    • constraint_name: A name for the constraint.
    • constraint_type: Type of constraint (e.g., UNIQUE, FOREIGN KEY).
    • column_name: The column to which the constraint applies.
    Example: Adding a Unique Constraint toemailincustomersTable
    ALTER TABLE customers
    ADD CONSTRAINT unique_email UNIQUE (email);
  6. Drop a Constraint
    ALTER TABLE table_name
    DROP CONSTRAINT constraint_name;
    • table_name: The name of the table containing the constraint.
    • constraint_name: The name of the constraint to remove.
    Example: Dropping the Unique Constraint onemailincustomersTable
    ALTER TABLE customers
    DROP CONSTRAINT unique_email;

Considerations When Using ALTER TABLE

  • Plan Changes Carefully Altering a table can affect the existing data and application logic. Always ensure changes are tested and validated.
  • Backup Data Before making significant modifications, consider backing up your data to prevent loss in case of errors.
  • Check Dependencies Be aware of dependencies like foreign keys and indexes that might be impacted by changes.

This guide should help beginners understand how to modify table structures in PostgreSQL using ALTER TABLE. By practicing these commands, you'll be able to adapt your database schema to meet changing requirements effectively.

Tansy SQL Course - ALTER TABLE - Video Thumbnail
Comments(0 comments)

Comments Not Found