在 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 删除。