Introduction
Evolving requirements demand view name changes without losing definitions.
MySQL provides ALTER VIEW and CREATE OR REPLACE for renaming.
It is widely used for:

  • Schema evolution
  • Naming standardization
  • Development refactoring

What is Rename View
Renaming preserves view logic with new identifier.
Two methods: ALTER VIEW or CREATE OR REPLACE VIEW.

Method 1: CREATE OR REPLACE VIEW
Simplest approach (recreate with new name).

sql


Method 2: ALTER VIEW
Direct rename syntax.

sql


Example

sql


CREATE OR REPLACE with Changes
Update logic + rename simultaneously.

sql


RENAME TABLE Alternative
Works for views too.

sql


Multiple View Renames
Batch renaming.

sql

 RENAME TABLE


Check Dependencies First
Identify referencing views.

sql


Rename with Permissions
Requires ALTER and CREATE VIEW privileges.

sql


-- Need: ALTER, CREATE VIEW on database 

Safe Rename Pattern

sql


Cross-Schema Rename
Different database renaming.

sql


Execution Order with Rename
Immediate metadata update → Invalidate cached plans

Performance Considerations

  • Instant operation (metadata only)
  • No data movement
  • Dependent queries auto-refresh

Important Notes

  • CREATE OR REPLACE = drop + create
  • ALTER VIEW RENAME TO fastest
  • RENAME TABLE works for views
  • Dependent views become invalid
  • Preserves view logic/permissions

Example Scenario
Refactor reporting views:

sql


Common Mistakes

  • Insufficient privileges
  • Dependent view breakage
  • Circular references
  • Forgetting to update application code
  • Schema mismatch

Key Points to Remember

  • ALTER VIEW ... RENAME TO (fastest)
  • CREATE OR REPLACE VIEW (flexible)
  • RENAME TABLE works too
  • Preserves view definition/logic
  • Instant metadata operation
  • Update dependent code/queries