Information schema explained

In relational databases, the information schema is an ANSI-standard set of read-only views that provide information about all of the tables, views, columns, and procedures in a database.[1] It can be used as a source of the information that some databases make available through non-standard commands, such as:

=> SELECT count(table_name) FROM information_schema.tables; count ------- 99 (1 row) => SELECT column_name, data_type, column_default, is_nullable FROM information_schema.columns WHERE table_name='alpha'; column_name | data_type | column_default | is_nullable -------------+-----------+----------------+------------- foo | integer | | YES bar | character | | YES (2 rows) => SELECT * FROM information_schema.information_schema_catalog_name; catalog_name -------------- johnd (1 row)

Implementation

As a notable exception among major database systems, Oracle does not implement the information schema. An open-source project exists to address this.

RDBMSs that support information_schema include:

RDBMSs that do not support information_schema include:

See also

External links

Notes and References

  1. Book: Melton. Jim. Simon. Alan R.. 19.2 Metadata, Repositories and The INFORMATION_SCHEMA. Understanding the New SQL: A Complete Guide. 1993. registration. The Morgan Kaufmann series in data management systems, ISSN 1046-1698. Morgan Kaufmann. 1993. 371. 9781558602458. 2015-10-22. Metadata that applies primarily to the runtime database environment is managed through the INFORMATION_SCHEMA. [...] Metadata that applies to the information system environment as a whole is managed through the dictionary or repository..
  2. Web site: Snowflake Information Schema. 2024-03-25. www.snowflake.com.
  3. Web site: Pragma statements supported by SQLite. 2022-02-01. www.sqlite.org.