Bird
Raised Fist0
SQLquery~5 mins

DROP TABLE and ALTER TABLE in SQL - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: DROP TABLE and ALTER TABLE
O(n)
Understanding Time Complexity

When we change or remove tables in a database, it takes some time to do so.

We want to understand how this time grows as the table size or structure changes.

Scenario Under Consideration

Analyze the time complexity of these SQL commands.


ALTER TABLE employees
ADD COLUMN birthdate DATE;

ALTER TABLE employees
DROP COLUMN middle_name;

ALTER TABLE employees
RENAME TO staff;

DROP TABLE staff;

This code removes a table and changes its structure by adding and dropping columns and renaming the table.

Identify Repeating Operations

Look for repeated work inside these commands.

  • Primary operation: Scanning or updating all rows when changing table structure.
  • How many times: Once per command, but some commands may touch every row.
How Execution Grows With Input

Changing or dropping a table depends on how many rows it has.

Input Size (rows)Approx. Operations
10About 10 row updates or deletions
100About 100 row updates or deletions
1000About 1000 row updates or deletions

Pattern observation: The work grows roughly in direct proportion to the number of rows.

Final Time Complexity

Time Complexity: O(n)

This means the time to drop or alter a table grows roughly in step with the number of rows in the table.

Common Mistake

[X] Wrong: "Dropping or altering a table always happens instantly, no matter the size."

[OK] Correct: The database often needs to update or remove every row, so bigger tables take more time.

Interview Connect

Understanding how table changes scale helps you explain database behavior clearly and confidently.

Self-Check

"What if we only rename a table without changing its data? How would the time complexity change?"

Practice

(1/5)
1. What does the SQL command DROP TABLE do?
easy
A. Adds a new column to the table.
B. Changes the data type of a column.
C. Deletes the entire table and all its data permanently.
D. Renames the table without deleting data.

Solution

  1. Step 1: Understand the purpose of DROP TABLE

    The DROP TABLE command removes the whole table and all its data from the database permanently.
  2. Step 2: Compare with other commands

    ALTER TABLE changes structure but keeps data; DROP TABLE deletes everything.
  3. Final Answer:

    Deletes the entire table and all its data permanently. -> Option C
  4. Quick Check:

    DROP TABLE = Delete table and data [OK]
Hint: DROP TABLE removes table and data completely [OK]
Common Mistakes:
  • Thinking DROP TABLE only deletes data but keeps structure
  • Confusing DROP TABLE with ALTER TABLE
  • Assuming DROP TABLE can be undone easily
2. Which of the following is the correct syntax to add a new column named age of type INTEGER to a table called users?
easy
A. DROP TABLE users ADD COLUMN age INTEGER;
B. ALTER TABLE users ADD COLUMN age INTEGER;
C. ALTER TABLE users DROP COLUMN age INTEGER;
D. ALTER users ADD age INTEGER;

Solution

  1. Step 1: Identify correct ALTER TABLE syntax

    To add a column, use: ALTER TABLE table_name ADD COLUMN column_name data_type;
  2. Step 2: Check each option

    ALTER TABLE users ADD COLUMN age INTEGER; matches correct syntax; others misuse DROP or omit TABLE keyword.
  3. Final Answer:

    ALTER TABLE users ADD COLUMN age INTEGER; -> Option B
  4. Quick Check:

    ALTER TABLE ADD COLUMN = ALTER TABLE users ADD COLUMN age INTEGER; [OK]
Hint: Use ALTER TABLE ... ADD COLUMN to add columns [OK]
Common Mistakes:
  • Using DROP TABLE instead of ALTER TABLE
  • Omitting TABLE keyword after ALTER
  • Using ADD without COLUMN keyword
3. Given the table employees with columns id, name, and salary, what will be the result of this SQL command?
ALTER TABLE employees DROP COLUMN salary;
medium
A. The table employees will be deleted.
B. All data in the employees table will be deleted.
C. A new column named salary will be added.
D. The salary column will be removed from the employees table.

Solution

  1. Step 1: Understand ALTER TABLE DROP COLUMN

    This command removes the specified column from the table structure but keeps the table and other data intact.
  2. Step 2: Analyze options

    Only The salary column will be removed from the employees table. correctly describes removing the salary column; others describe deleting data or table, or adding columns.
  3. Final Answer:

    The salary column will be removed from the employees table. -> Option D
  4. Quick Check:

    ALTER TABLE DROP COLUMN removes column [OK]
Hint: ALTER TABLE DROP COLUMN removes only that column [OK]
Common Mistakes:
  • Thinking DROP COLUMN deletes all data
  • Confusing DROP COLUMN with DROP TABLE
  • Assuming DROP COLUMN adds a column
4. What is wrong with this SQL command?
ALTER TABLE customers DROP age;
medium
A. The command is missing the keyword COLUMN after DROP.
B. DROP cannot be used with ALTER TABLE.
C. The table name is incorrect.
D. The command should be DROP TABLE customers;

Solution

  1. Step 1: Check ALTER TABLE DROP syntax

    To remove a column, the syntax requires DROP COLUMN column_name, not just DROP column_name.
  2. Step 2: Validate other options

    DROP is valid with ALTER TABLE if used correctly; table name is correct; DROP TABLE deletes whole table, not column.
  3. Final Answer:

    The command is missing the keyword COLUMN after DROP. -> Option A
  4. Quick Check:

    ALTER TABLE DROP COLUMN required [OK]
Hint: Use DROP COLUMN, not just DROP, to remove columns [OK]
Common Mistakes:
  • Omitting COLUMN keyword after DROP
  • Confusing DROP TABLE with DROP COLUMN
  • Assuming DROP alone removes columns
5. You want to rename the column fullname to name in the table students. Which SQL command correctly does this in a standard way?
hard
A. ALTER TABLE students RENAME COLUMN fullname TO name;
B. ALTER TABLE students CHANGE fullname name VARCHAR(100);
C. DROP TABLE students RENAME COLUMN fullname TO name;
D. ALTER TABLE students DROP COLUMN fullname ADD COLUMN name VARCHAR(100);

Solution

  1. Step 1: Identify standard rename column syntax

    The standard SQL command to rename a column is ALTER TABLE table_name RENAME COLUMN old_name TO new_name;
  2. Step 2: Evaluate options

    ALTER TABLE students RENAME COLUMN fullname TO name; matches standard syntax; A wrongly uses DROP TABLE; B is MySQL-specific CHANGE syntax; D drops and adds column losing data.
  3. Final Answer:

    ALTER TABLE students RENAME COLUMN fullname TO name; -> Option A
  4. Quick Check:

    Rename column = ALTER TABLE RENAME COLUMN [OK]
Hint: Use ALTER TABLE RENAME COLUMN to rename columns safely [OK]
Common Mistakes:
  • Using DROP TABLE instead of ALTER TABLE
  • Dropping and adding columns loses data
  • Using non-standard syntax without checking compatibility
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard