Update View in MySQL

There are certain conditions that need to be satisfied to update a view. If any one of these conditions is not met, then we are not allowed to update the view.

  1. The View should be created from a single table. If the view is created using multiple tables then we will not be allowed to update the view.
  2. The View should not be created using nested queries or complex queries.
  3. The View should have all NOT NULL values.
  4. The SELECT statement should not have the DISTINCT keyword.
  5. The SELECT statement which is used to create the view should not include GROUP BY clause or ORDER BY clause.

1. Update View Definition/Structure

To update the view for adding or remove columns and rows by changing WHERE clause condition, we can use CREATE OR REPLACE VIEW statement.

Syntax:

CREATE OR REPLACE VIEW <view_name> AS

SELECT <column1>, <column2>, ………, <columnN>

FROM <table_name>

WHERE [condition];

Example:

Suppose we want to update the view IITHyderabadStudentsView we created above and delete the column sid from this view from StudentDetails table, we can do this as follows:

CREATE OR REPLACE VIEW IITHyderabadStudentsView AS
SELECT sname, age
FROM StudentDetails
WHERE university = "IIT Hyderabad";

Output:

UPDATE VIEW Definition

2. Insert Into View

To insert the new row into the view, we can do it in a similar way just like how we do it for normal tables.

Syntax:

INSERT INTO <view_name>(<column1>, <column2>, <column3>,.........) 
VALUES(<value1>, <value2>, <value3>,...........);

Example:

Let us insert a new row in the view IITHyderabadStudentsView which we have created above in the example of “Create View-based On Single Table”.

INSERT INTO IITHyderabadStudentsView(sid, sname, age)
VALUES(7, "Tenali Rama", 26);

SELECT * FROM IITHyderabadStudentsView;
SELECT * FROM StudentDetails;

Output:

You can see from the image below that inserting a row into view inserted the row into our original table as well. To see the changes, you can query the data from original table before and after insertion into the view.

Insert Into View

Output:

SELECT * FROM View

3. Delete From View

To insert the new row into the view, we can do it in a similar way just like how we do it for normal tables. The syntax is:

DELETE FROM <view_name> WHERE [condition];

Example:

Let us delete a row in the view IITHyderabadStudentsView which we have created above in the example of “Create View-based On Single Table”. Let us delete the details of student whose name is “Tenali Rama”.

DELETE FROM IITHyderabadStudentsView WHERE sname = "Tenali Rama";

Output:

The data in the view before deletion is performed.

SELECT * FROM View

The data in the view after deletion is performed.

DELETE FROM VIEW

MYSQL View

MySQL is an open-source RDBMS, i.e. Relational Database Management System which is maintained by Oracle. MySQL has support for major operating systems like Windows, MacOS, Linux, etc. MySQL makes it easy for users to interact with your relational databases, which store data in the form of tables. You can write SQL queries to get the required data from the databases using MySQL.

In this article, we will look at “Views in MySQL”, which act as virtual tables, and understand its advantages, as well as the syntax of Views for creation, updation, and deletion, with the help of awesome examples.

Similar Reads

What are Views in MySQL?

Views in MySQL are indeed “virtual tables” that are used to view data from one or more tables. Views do not have their data but rather store data virtually, consisting of rows and columns. Views are very helpful in restricting access to your application’s critical data to third-party users. Views in MySQL can be created by selecting some/all columns and some/all rows of a table by filtering out the rows based on some condition(s)....

What is the Benefit of Using Views in MySQL?

Views help particularly in the following ways:...

What is MySQL Command Line Client?

MySQL Command Line Client is a simple and elegant SQL shell with inline editing ability. It is basically a Non-GUI based approach to query and interact with our MySQL database. So in simpler terms, it is a tool that permits sending MySQL queries to MySQL database from the command line i.e. shell. This is typically useful when we cannot install GUI-based tools like MySQL Workbench for interaction with MySQL database like when we are having MySQL database on a remote server....

Create View in MySQL

A view in MySQL can be created based on a single table or multiple tables. The CREATE VIEW statement is used to create a view in MYSQL....

Update View in MySQL

There are certain conditions that need to be satisfied to update a view. If any one of these conditions is not met, then we are not allowed to update the view....

Drop View in MySQL

Suppose now there is no need of the created view anymore? So, we want to delete it now. MySQL allows to deletion an already existing view. We can drop a view using the DROP statement....

CREATE VIEW using MySQL Workbench

Step 1: Open the MySQL Workbench...

Temporary Table in MySQL

A temporary table in MySQL is a table that allows one to store temporary result set of a query, and which one can reuse multiple times during one session. A temporary table is useful in cases where a SELECT statement is expensive to query the data as it may involve complex and multiple joins on tables such that every table contain huge amount of data. So, one can use the temporary table to store the result and then use another query to process this data....

Conclusion

Views in MySQL provide a way to avoid writing lengthy SELECT complex joins and queries again and again. It also helps in limiting the access of table attributes from the end users. In this article, we looked at how to create, delete, and update views in MySQL using MySQL command line client and also using workbench and how it benefits in general, their syntax of views for creation, updation, and deletion, with the help of awesome examples....

Contact Us