在 MySQL 中,information_schema
是一个虚拟数据库,包含了关于数据库元数据的信息。它不包含实际的数据,而是提供了有关数据库、表、列、索引、用户、权限等的描述性信息。information_schema
数据库是 MySQL 中的一个非常重要的系统数据库,通常用于查询数据库的结构和属性。
information_schema
中的表并不存储实际数据,而是动态生成的视图。用户不能修改这些视图中的数据。information_schema
,用户可以快速获取数据库结构的相关信息,而无需查询系统表或系统目录。information_schema
中包含多个表,以下是一些常见的表及其功能:
TABLE_NAME
:表的名称。TABLE_SCHEMA
:数据库的名称。TABLE_TYPE
:表的类型,通常是 BASE TABLE
或 VIEW
。ENGINE
:表使用的存储引擎(例如 InnoDB, MyISAM)。CREATE_TIME
:表的创建时间。UPDATE_TIME
:表的最后更新时间。SELECT * FROM information_schema.tables WHERE table_schema = 'your_database';php77 Bytes© 菜鸟-创作你的创作
TABLE_NAME
:列所属的表名。COLUMN_NAME
:列的名称。DATA_TYPE
:列的数据类型(如 VARCHAR
, INT
, DATE
)。IS_NULLABLE
:列是否允许 NULL
值。COLUMN_DEFAULT
:列的默认值。CHARACTER_MAXIMUM_LENGTH
:字符列的最大长度(对于 CHAR
, VARCHAR
等类型)。SELECT COLUMN_NAME, DATA_TYPE FROM information_schema.columns WHERE table_name = 'your_table';php94 Bytes© 菜鸟-创作你的创作
TABLE_NAME
:键所在的表名。COLUMN_NAME
:列的名称。CONSTRAINT_NAME
:约束名称(如主键或外键的名字)。REFERENCED_TABLE_NAME
:外键约束指向的表名。SELECT * FROM information_schema.key_column_usage WHERE table_name = 'your_table';php82 Bytes© 菜鸟-创作你的创作
SCHEMA_NAME
:数据库名称。DEFAULT_CHARACTER_SET_NAME
:数据库的默认字符集。DEFAULT_COLLATION_NAME
:数据库的默认排序规则。SELECT * FROM information_schema.schemata;php42 Bytes© 菜鸟-创作你的创作
GRANTEE
:授予权限的用户。TABLE_SCHEMA
:权限适用的数据库名。PRIVILEGE_TYPE
:权限类型(如 SELECT
, INSERT
, UPDATE
)。IS_GRANTABLE
:权限是否可被授予给其他用户。SELECT * FROM information_schema.user_privileges WHERE grantee = "'your_user'@'localhost'";php91 Bytes© 菜鸟-创作你的创作
TABLE_NAME
:视图的名称。VIEW_DEFINITION
:视图的定义(即 SELECT 语句)。CHECK_OPTION
:视图的检查选项。SELECT * FROM information_schema.views WHERE table_name = 'your_view';php70 Bytes© 菜鸟-创作你的创作
TABLE_NAME
:约束所在的表。CONSTRAINT_TYPE
:约束类型(如 PRIMARY KEY
, FOREIGN KEY
)。CONSTRAINT_NAME
:约束的名称。SELECT * FROM information_schema.table_constraints WHERE table_name = 'your_table';php83 Bytes© 菜鸟-创作你的创作
CHARACTER_SET_NAME
:字符集的名称(如 utf8mb4
)。DEFAULT_COLLATE_NAME
:该字符集的默认排序规则。SELECT * FROM information_schema.character_sets;php48 Bytes© 菜鸟-创作你的创作
information_schema
查询,可以生成数据库的详细文档,帮助开发和运维人员了解数据库的结构。information_schema
获取表和列的信息,并生成迁移脚本。information_schema
是 MySQL 提供的一个强大工具,帮助开发者和管理员查询数据库的元数据信息。它提供了表结构、列属性、约束、权限等的详细描述,对于数据库的管理、调试、迁移等工作非常有用。通过查询 information_schema
,您可以方便地获取数据库的所有关键信息。
https://www.52runoob.com/archives/3938
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。