The view information_schema.views contains information about all views in the database.
SELECT * FROM information_schema.views;
SELECT table_schema, table_name FROM information_schema.views WHERE NOT is_system;
information_schema.views
| column name | type | remarks |
|---|---|---|
| table_catalog | VARCHAR | Always NULL |
| table_schema | VARCHAR | |
| table_name | VARCHAR | |
| view_definition | VARCHAR | |
| check_option | VARCHAR | Currently always NONE |
| is_updatable | VARCHAR | NO or YES, currently always NO |
| insertable_into | VARCHAR | NO or YES, currently always NO |
| is_trigger_updatable | VARCHAR | NO or YES, currently always NO |
| is_trigger_deletable | VARCHAR | NO or YES, currently always NO |
| is_trigger_insertable_into | VARCHAR | NO or YES, currently always NO |
| schema_id | INTEGER | reference to sys.schemas.id |
| table_id | INTEGER | reference to sys.tables.id |
| table_type_id | SMALLINT | reference to sys.table_types.table_type_id |
| is_system | BOOLEAN | true when it is a system view, else false |
| comments | VARCHAR |
Note: The last 5 columns (schema_id, table_id, table_type_id, is_system and comments) are extensions to the view as defined by ISO standard. They provide useful information and simplify filtering and joins with system tables/views in sys schema when needed.