[MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段

Posted 陶士涵的菜地

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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 对于生成的字段,显示用于计算列值的表达式。

  

 

以上是关于[MySQL] INFORMATION_SCHEMA 数据库包含所有表的字段的主要内容,如果未能解决你的问题,请参考以下文章

MySQL查询导出数据表结构信息

myrocks 之数据字典

如何从 BigQuery 表中提取所有列名的列表?

刚安装sql server2014,就遇到以下问题 : 异常来自HRESULT:0X8024402C,不知道 是啥原因,请指教?

MySQL

mysql初学,mysql修改,mysql查找,mysql删除,mysql基本命令