112 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| title: SQL Replace VIEW Statement
 | |
| ---
 | |
| 
 | |
| ## SQL Replace VIEW Statement
 | |
| 
 | |
| ## Introduction
 | |
| 
 | |
| A View is a database object that presents data from in one or more tables. The same SQL statement used to create a view can also be used to replace an existing view.
 | |
| 
 | |
| This guide will update (replace) the existing view "programming-students-v" with one that is slightly different and has a different name.
 | |
| 
 | |
| Safety tip: always backup the schema before making changes to it.
 | |
| 
 | |
| ### General sytax
 | |
| 
 | |
| ```sql
 | |
| CREATE OR REPLACE VIEW view_name AS
 | |
| SELECT column1, column2, ...
 | |
| FROM table_name
 | |
| WHERE condition;
 | |
| ```
 | |
| 
 | |
| ### SQL Used to create the view and the current data
 | |
| 
 | |
| ```sql
 | |
| create view `programming-students-v` as
 | |
| select FullName, programOfStudy 
 | |
| from student 
 | |
| where programOfStudy = 'Programming';
 | |
| ```
 | |
| 
 | |
| ```sql
 | |
| select * from `programming-students-v`;
 | |
| ```
 | |
| 
 | |
| Current Data:
 | |
| 
 | |
| ```text
 | |
| +-----------------+----------------+
 | |
| | FullName        | programOfStudy |
 | |
| +-----------------+----------------+
 | |
| | Teri Gutierrez  | Programming    |
 | |
| | Spencer Pautier | Programming    |
 | |
| | Louis Ramsey    | Programming    |
 | |
| | Alvin Greene    | Programming    |
 | |
| | Sophie Freeman  | Programming    |
 | |
| +-----------------+----------------+
 | |
| 5 rows in set (0.00 sec)
 | |
| ```
 | |
| 
 | |
| A list of the existing views:
 | |
| 
 | |
| ```sql
 | |
| SHOW FULL TABLES IN fcc_sql_guides_database WHERE TABLE_TYPE LIKE 'VIEW';
 | |
| ```
 | |
| 
 | |
| ```text
 | |
| +-----------------------------------+------------+
 | |
| | Tables_in_fcc_sql_guides_database | Table_type |
 | |
| +-----------------------------------+------------+
 | |
| | programming-students-v            | VIEW       |
 | |
| | students-contact-info_v           | VIEW       |
 | |
| | students_dropme_v                 | VIEW       |
 | |
| +-----------------------------------+------------+
 | |
| 3 rows in set (0.00 sec)
 | |
| ```
 | |
| 
 | |
| ### Replacing the view
 | |
| 
 | |
| ```sql
 | |
| create or replace view `programming-students-v` as
 | |
| select FullName, programOfStudy, sat_score 
 | |
| from student 
 | |
| where programOfStudy = 'Programming';    
 | |
| ```
 | |
| 
 | |
| ```sql
 | |
| select * from `programming-students-v`;
 | |
| ```
 | |
| 
 | |
| Note: the view now shows the sat_score.
 | |
| 
 | |
| ```text
 | |
| +-----------------+----------------+-----------+
 | |
| | FullName        | programOfStudy | sat_score |
 | |
| +-----------------+----------------+-----------+
 | |
| | Teri Gutierrez  | Programming    |       800 |
 | |
| | Spencer Pautier | Programming    |      1000 |
 | |
| | Louis Ramsey    | Programming    |      1200 |
 | |
| | Alvin Greene    | Programming    |      1200 |
 | |
| | Sophie Freeman  | Programming    |      1200 |
 | |
| +-----------------+----------------+-----------+
 | |
| ```
 | |
| 
 | |
| Note: the list of views hasn't change, our view is replaced.
 | |
| 
 | |
| ```text
 | |
| mysql>  SHOW FULL TABLES IN fcc_sql_guides_database WHERE TABLE_TYPE LIKE 'VIEW';
 | |
| +-----------------------------------+------------+
 | |
| | Tables_in_fcc_sql_guides_database | Table_type |
 | |
| +-----------------------------------+------------+
 | |
| | programming-students-v            | VIEW       |
 | |
| | students-contact-info_v           | VIEW       |
 | |
| | students_dropme_v                 | VIEW       |
 | |
| +-----------------------------------+------------+
 | |
| 3 rows in set (0.00 sec)
 | |
| ```
 | |
| 
 | |
| *As with all of these SQL things there is MUCH MORE to them than what's in this introductory guide. I hope this at least gives you enough to get started. Please see the manual for your database manager and have fun trying different options yourself.
 | |
| 
 |