有关数据库的系统表有哪些
-
数据库系统表是数据库中用于存储关于数据库本身的信息的特殊表。不同的数据库管理系统有不同的系统表,以下是一些常见数据库系统表的示例:
-
MySQL系统表:
information_schema.tables: 包含有关数据库中所有表的信息(例如表名、表类型、行数等)。information_schema.columns: 包含有关数据库表中所有列的信息(例如列名、数据类型、约束等)。information_schema.schemata: 包含有关数据库中所有模式(也称为数据库)的信息。
-
SQL Server系统表:
sys.tables: 包含有关数据库中所有表的信息。sys.columns: 包含有关数据库表中所有列的信息。sys.indexes: 包含有关数据库表索引的信息。
-
Oracle系统表:
ALL_TABLES: 包含当前用户有访问权限的所有表的信息。ALL_TAB_COLUMNS: 包含当前用户有访问权限的所有表的列信息。ALL_CONSTRAINTS: 包含当前用户有访问权限的所有约束的信息。
-
PostgreSQL系统表:
pg_tables: 包含有关数据库中所有表的信息。pg_class: 包含有关数据库中所有对象(包括表)的信息。pg_attribute: 包含有关数据库表中所有列的信息。
-
SQLite系统表:
sqlite_master: 包含有关数据库中所有表和索引的信息。sqlite_sequence: 包含AUTOINCREMENT列的最近插入值,用于跟踪自动递增列的值。
系统表对于了解数据库架构和元数据非常重要。它们可以用于编写动态查询和检索数据库结构的信息,帮助开发人员和管理员管理和维护数据库。
1年前 -
-
数据库的系统表是系统自动生成和维护的,用于存储数据库内部管理信息的特殊表,它们记录了数据库的元数据信息和内部状态信息。不同的数据库管理系统(DBMS)在系统表的命名和功能上可能存在差异,下面以常见的关系型数据库MySQL和PostgreSQL为例介绍它们的一些常用系统表。
在MySQL中,常见的系统表包括:
- information_schema:包含了数据库的元数据信息,例如数据库、表、列、索引、权限等信息;
- mysql.user:记录了数据库的用户账户和权限信息;
- mysql.db:存储了数据库级别的权限信息;
- mysql.tables_priv和mysql.columns_priv:分别记录了表级和列级的权限信息;
- mysql.procs_priv:记录了存储过程、函数的权限信息;
- mysql.event:存储了数据库事件调度器的相关信息;
- performance_schema:MySQL 5.5及以上版本引入的,用于对数据库性能进行监控和调优。
在PostgreSQL中,常见的系统表包括:
- pg_catalog.pg_tables:包含了所有用户表的信息;
- pg_catalog.pg_views:存储了所有视图的信息;
- pg_catalog.pg_indexes:记录了所有索引的信息;
- pg_catalog.pg_namespace:包含了所有命名空间(schemas)的信息;
- pg_catalog.pg_user:记录了所有数据库用户的信息;
- pg_catalog.pg_roles:包含了所有角色(roles)的信息;
- information_schema:和MySQL类似,包含了数据库的元数据信息。
除了上述系统表外,不同的DBMS还可能有各自特定的系统表,用于存储一些特定的元数据信息或内部状态信息。需要特别注意的是,系统表一般是用于数据库管理系统自身的运行和管理,应当谨慎操作,避免直接对其进行修改或删除,以免导致数据库系统无法正常运行。
1年前 -
数据库系统表是数据库管理系统 (DBMS) 中包含了有关数据库本身和其对象的信息的特殊表。它们用于存储数据库的元数据,比如表、列、索引等的定义和属性。不同的数据库管理系统可能有不同的系统表,以下是一些常见的数据库系统表的示例。
MySQL
- information_schema: 这是MySQL中的一个虚拟数据库,包含了关于所有其他数据库的信息。它包括了数据库、表、列、索引等的元数据信息。
- mysql数据库: 包含了用户、权限、角色等权限相关的系统表。
- performance_schema: 用于存储性能相关的数据,比如锁定状态、资源利用率等信息。
- sys: MySQL 5.7及更高版本中包含了sys模式,提供了用于监控和分析数据库性能的视图和存储过程。
SQL Server
- master数据库: 包含了SQL Server实例的元数据信息,比如数据库、登录、配置等。
- tempdb数据库: 用于存储临时对象、临时表和变量的数据库。
- msdb数据库: 存储SQL Server代理作业、备份和恢复历史记录等信息。
- sys schema: 包含了与数据库对象 (表、列、索引等) 相关的系统视图和函数。
Oracle
- ALL_OBJECTS: 包含了当前用户有权限访问的数据库对象的信息。
- USER_OBJECTS: 包含了当前用户拥有的数据库对象的信息。
- DBA_OBJECTS: 包含了所有数据库对象的信息,只有DBA权限的用户能够访问。
- V$DATABASE: 包含了数据库实例的信息,比如名称、日志文件等。
PostgreSQL
- pg_catalog schema: 包含了系统表和视图的定义,用于存储数据库的元数据信息。
- information_schema: 类似于MySQL中的information_schema,包含了关于数据库对象的标准化视图。
- pg_views: 包含了所有视图的信息,比如视图的定义、所有者等。
以上是一些常见的数据库系统表的示例,不同的DBMS可能会有其他特定的系统表,可以通过查阅对应的官方文档来获得更多信息。
1年前


