MySQL 5.0 introduced support for named and updatable views (more details are available at http://dev.mysql.com/doc/refman/5.5/en/views.html). A view is a derived table (consider it a virtual table) whose definition is stored in the database. A SELECT
statement done on one or more tables (or even on views), can be stored as a view and can also be queried.
Limit the visibility of columns (for example, do not show salary information)
Limit the visibility of rows (for example, do not show data for specific world regions)
Hide a changed table structure (so that legacy applications can continue to work)
Instead of defining cumbersome column-specific privileges on many tables, it's easier to prepare a view containing a limited set of columns from these tables. We can then grant permissions on the view as a whole.
To activate support for views on a server after an upgrade from a pre-5.0 version, the administrator has to execute the mysql_upgrade
program, as described...