VIEWS

VIEWS 表提供了关于 SQL 视图的信息。

  1. USE information_schema;
  2. DESC views;
  1. +----------------------+--------------+------+------+---------+-------+
  2. | Field | Type | Null | Key | Default | Extra |
  3. +----------------------+--------------+------+------+---------+-------+
  4. | TABLE_CATALOG | varchar(512) | NO | | NULL | |
  5. | TABLE_SCHEMA | varchar(64) | NO | | NULL | |
  6. | TABLE_NAME | varchar(64) | NO | | NULL | |
  7. | VIEW_DEFINITION | longblob | NO | | NULL | |
  8. | CHECK_OPTION | varchar(8) | NO | | NULL | |
  9. | IS_UPDATABLE | varchar(3) | NO | | NULL | |
  10. | DEFINER | varchar(77) | NO | | NULL | |
  11. | SECURITY_TYPE | varchar(7) | NO | | NULL | |
  12. | CHARACTER_SET_CLIENT | varchar(32) | NO | | NULL | |
  13. | COLLATION_CONNECTION | varchar(32) | NO | | NULL | |
  14. +----------------------+--------------+------+------+---------+-------+
  15. 10 rows in set (0.00 sec)
  1. CREATE VIEW test.v1 AS SELECT 1;
  2. SELECT * FROM views\G
  1. *************************** 1. row ***************************
  2. TABLE_CATALOG: def
  3. TABLE_SCHEMA: test
  4. TABLE_NAME: v1
  5. VIEW_DEFINITION: SELECT 1
  6. CHECK_OPTION: CASCADED
  7. IS_UPDATABLE: NO
  8. DEFINER: root@127.0.0.1
  9. SECURITY_TYPE: DEFINER
  10. CHARACTER_SET_CLIENT: utf8mb4
  11. COLLATION_CONNECTION: utf8mb4_0900_ai_ci
  12. 1 row in set (0.00 sec)

VIEWS 表中列的含义如下:

  • TABLE_CATALOG:视图所属的目录的名称。该值始终为 def
  • TABLE_SCHEMA:视图所属的数据库的名称。
  • TABLE_NAME:视图名称。
  • VIEW_DEFINITION:视图的定义,由创建视图时 SELECT 部分的语句组成。
  • CHECK_OPTIONCHECK_OPTION 的值。取值为 NONECASCADELOCAL
  • IS_UPDATABLEUPDATE/INSERT/DELETE 是否对该视图可用。在 TiDB,始终为 NO
  • DEFINER:视图的创建者用户名称,格式为 'user_name'@'host_name'
  • SECURITY_TYPESQL SECURITY 的值,取值为 DEFINERINVOKER
  • CHARACTER_SET_CLIENT:在视图创建时 session 变量 character_set_client 的值。
  • COLLATION_CONNECTION:在视图创建时 session 变量 collation_connection 的值。