【MySQL】information_schema库中包含所有表的字段信息
information_schema提供了对数据库元数据、统计信息、以及有关MySQL Server的信息访问(例如:数据库名或表名,字段的数据类型和访问权限等)。information_schema库中保存的信息也可以称为MySQL的数据字典或系统目录。本文主要讲述了information_schema库中包含所有表的字段信息,感兴趣的朋友可以了解一下。
sql注入后可以通过该数据库获取所有表的字段信息
1.COLLATIONS表
提供有关每个字符集的排序规则的信息。 COLLATIONS表包含以下列:
COLLATION_NAME 排序规则名称。
CHARACTER_SET_NAME 与排序规则关联的字符集的名称。
ID 排序规则ID。
IS_DEFAULT 排序规则是否为其字符集的默认值。
IS_COMPILED 字符集是否已编译到服务器中。
SORTLEN 这与对字符集中表示的字符串进行排序所需的内存量有关。
2.SHOW COLLATION;//也可以查询到排序规则信息
3.COLLATION_CHARACTER_SET_APPLICABILITY 表
COLLATION_NAME 排序规则名称。
CHARACTER_SET_NAME 与排序规则关联的字符集的名称
4.COLUMNS 提供表中字段的信息
TABLE_CATALOG 包含该列的表所属的目录的名称。该值始终为def。
TABLE_SCHEMA 包含字段所在数据库的名称。
TABLE_NAME 包含字段所在表的名称。
COLUMN_NAME 字段的名称。
ORDINAL_POSITION 表中字段的位置。 ORDINAL_POSITION是必要的,因为你可能想说 ORDER BY ORDINAL_POSITION。与SHOW COLUMNS不同,COLUMNS表中的SELECT没有自动排序。show columns的语法是例如:show columns from my_test.user;
COLUMN_DEFAULT 字段的默认值。如果字段具有显式缺省值NULL,或者字段定义不包含DEFAULT子句,则此值为NULL。
IS_NULLABLE 字段可为空性。如果NULL值可以存储在列中,则值为YES,否则为NO。
DATA_TYPE 字段数据类型。 DATA_TYPE值只是类型名称,没有其他信息。
COLUMN_TYPE 值包含类型名称以及可能的其他信息,例如精度或长度。
CHARACTER_MAXIMUM_LENGTH 对于字符串列,最大长度(以字符为单位)。
CHARACTER_OCTET_LENGTH 对于字符串列,最大长度(以字节为单位)。
NUMERIC_PRECISION 对于数字字段,数字精度。
NUMERIC_SCALE 对于数字字段,数字刻度。
DATETIME_PRECISION 对于时间字段,小数秒精度。
CHARACTER_SET_NAME 对于字符串字段,字符集名称。
COLLATION_NAME 对于字符串字段,排序规则名称。
COLUMN_TYPE 字段数据类型。
DATA_TYPE 值只是类型名称,没有其他信息。
COLUMN_TYPE 值包含类型名称以及可能的其他信息,例如精度或长度。
COLUMN_KEY 名称是否已建立索引
EXTRA 有关给定字段的任何其他可用信息。
PRIVILEGES 您对该字段的权限。
COLUMN_COMMENT 字段定义中包含的任何注释。
GENERATION_EXPRESSION 对于生成的字段,显示用于计算列值的表达式.