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. | ||
|  | 
 |