[[sqlmap 使用]]

mysql数据结构
在练习靶场前我们需要了解以下mysql数据库结构,mysql数据库5.0以上版本有一个自带的数据库叫做information_schema,该数据库下面有两个表一个是tables和columns。tables这个表的table_name字段下面是所有数据库存在的表名。table_schema字段下是所有表名对应的数据库名。columns这个表的colum_name字段下是所有数据库存在的字段名。columns_schema字段下是所有表名对应的数据库。了解这些对于我们之后去查询数据有很大帮助。我们前面机关讲解比较详细后面就比较简单了。
注意table_name字段不是只存在于tables表,也是存在columns表中。表示所有字段对应的表名。

information_schema是MySQL数据库系统中的一个特殊数据库,用于存储关于数据库、表、列、索引、权限等元数据信息。下面是information_schema中一些常见的表以及它们的列:

  1. TABLES 表

    • TABLE_CATALOG: 表所属的目录名称。
    • TABLE_SCHEMA: 表所属的数据库名称。
    • TABLE_NAME: 表的名称。
    • TABLE_TYPE: 表的类型,如BASE TABLE(基本表)或VIEW(视图)。
    • ENGINE: 表的存储引擎。
    • ROW_FORMAT: 行格式。
    • TABLE_ROWS: 表中的行数。
    • AVG_ROW_LENGTH: 平均行长度。
    • DATA_LENGTH: 表数据的长度。
    • MAX_DATA_LENGTH: 表可以容纳的最大数据长度。
    • INDEX_LENGTH: 表索引的长度。
    • DATA_FREE: 表中未使用的空间。
  2. COLUMNS 表

    • TABLE_CATALOG: 列所属的目录名称。
    • TABLE_SCHEMA: 列所属的数据库名称。
    • TABLE_NAME: 列所属的表名称。
    • COLUMN_NAME: 列的名称。
    • ORDINAL_POSITION: 列在表中的位置。
    • COLUMN_DEFAULT: 列的默认值。
    • IS_NULLABLE: 列是否允许为空。
    • DATA_TYPE: 列的数据类型。
    • CHARACTER_MAXIMUM_LENGTH: 字符型列的最大长度。
    • NUMERIC_PRECISION: 数值型列的精度。
    • NUMERIC_SCALE: 数值型列的小数位数。
    • COLUMN_TYPE: 列的类型。
    • COLUMN_KEY: 列是否是索引的一部分。
    • EXTRA: 列的额外信息。
  3. STATISTICS 表

    • TABLE_CATALOG: 索引所属的目录名称。
    • TABLE_SCHEMA: 索引所属的数据库名称。
    • TABLE_NAME: 索引所属的表名称。
    • NON_UNIQUE: 索引是否是唯一索引。
    • INDEX_SCHEMA: 索引的数据库名称。
    • INDEX_NAME: 索引的名称。
    • SEQ_IN_INDEX: 索引中列的顺序。
    • COLUMN_NAME: 索引列的名称。
    • COLLATION: 列的排序规则。
    • CARDINALITY: 索引中唯一值的数量。
    • SUB_PART: 索引的子部分长度。

这些表中的信息对于管理和了解数据库结构和内容非常有用。通过查询information_schema,可以获取关于数据库和表的元数据信息,而不必直接访问数据库系统文件或执行系统命令。

在英语中,”schema”通常用来指代一种计划、模式或结构化的框架。在数据库领域中,”schema”通常指数据库的结构定义,包括表、列、约束等的定义。在其他领域,”schema”也可以指代其他类型的结构定义或计划,例如XML文档的结构定义,或者计算机程序的设计模式。总的来说,”schema”在英语中表示了一种组织和规划数据或信息的方式。