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