Managing Views in MySQL : Showing mysql view definition

Summary: in this tutorial, you will learn how to manage views in MySQL including displaying, modifying and removing views.

Show view definition in MySQL

MySQL provides the SHOW CREATE VIEW statement that helps you show view definition. The following is the syntax of the SHOW CREATE VIEW statement:

 

1SHOW CREATE VIEW [database_name].[view_ name];

To display the definition of a view, you just need to specify its name after the SHOW CREATE VIEWkeywords.

Let’s create a view for the demonstration.

First, we create a simple view against the employees table that displays the company’s organization structure:

 

1234

5

6

7

8

CREATE VIEW organizationASSELECT CONCAT (E.lastname,E.firstname) AS Employee,CONCAT  (M.lastname,M.firstname) AS Manager

FROM employees AS E

INNER JOIN employees AS M

ON M.employeeNumber = E.ReportsTo

ORDER BY Manager

To display the view’s definition, you use the SHOW CREATE VIEW statement as follows:

 

1SHOW CREATE VIEW organization

You can also display the definition of the view by using any plain text editor such as notepad to open the view definition file in the database folder.

For example, to open the organization view definition, you can find the view definition file with the following path: \data\classicmodels\organization.frm

Modifying views

Once a view is defined, you can modify it by using the ALTER VIEW statement. The syntax of theALTER VIEW statement is similar to the CREATE VIEW statement except the CREATE keyword is replaced by the ALTER keyword.

 

1234

5

ALTER[ALGORITHM =  {MERGE | TEMPTABLE | UNDEFINED}]VIEW [database_name].  [view_name]AS

[SELECT  statement]

The following query modifies the organization view by adding an addition email field.

 

1234

5

6

7

8

9

ALTER VIEW organizationASSELECT CONCAT(E.lastname,E.firstname) AS Employee,E.email AS  employeeEmail,

CONCAT(M.lastname,M.firstname) AS Manager

FROM employees AS E

INNER JOIN employees AS M

ON M.employeeNumber = E.ReportsTo

ORDER BY Manager

To verify the change, you can query data from the organization view:

 

1SELECT * FROM Organization

MySQL drop views

Once a view created, you can remove it by using the DROP VIEW statement. The following illustrates the syntax of the DROP VIEW statement:

 

1DROP VIEW [IF EXISTS] [database_name].[view_name]

The IF EXISTS is the optional element of the statement, which allows you to check whether the view exists or not. It helps you avoid an error of removing a non-existent view.

For example, if you want to remove the organization view, you can use the DROP VIEWstatement as follows:

 

1DROP VIEW IF EXISTS organization

Each time you modify or remove a view, MySQL makes a back up of the view definition file to the/database_name/arc/ folder. In case you modify or remove a view by accident, you can get a back up from there.

In this tutorial, you have learned how to manage views in MySQL including displaying, modifying and removing views.

 

Leave a Reply