zoukankan      html  css  js  c++  java
  • mysql 的information_schame

    借用知乎的某个回答:https://zhuanlan.zhihu.com/p/103047571

    解释了database、schame、tables、column、row、dba、user的关系

    information_schema数据库是MySQL系统自带的数据库,它提供了数据库元数据的访问方式。感觉information_schema就像是MySQL实例的一个百科全书,记录了数据库当中大部分我们需要了结的信息,比如字符集,权限相关,数据库实体对象信息,外检约束,分区,压缩表,表信息,索引信息,参数,优化,锁和事物等等。通过information_schema我们可以窥透整个MySQL实例的运行情况,可以了结MySQL实例的基本信息,甚至优化调优,维护数据库等,information_schema数据库是在mysql的版本5.0之后产生的,一个虚拟数据库,物理上并不存在。

    在注入过程中经常会用到这个库,前提是MySQL版本在5.0之后,在注入中用version()函数查看mysql版本

    在这个库里面有会用到这些表

    SCHEMATA:   提供了当前mysql数据库中所有数据库的信息,其中SCHEMA_NAME字段保存了所有的数据库名.show databases的结果取自此表.

    可以直接   select * from schemata;

    或者   select schema_name from schemata;

    来查看所有库名;

     在实际中还是用第二个搭配上group_concat(),

    如    select group_concat(schema_name) from schemata;

     

     
    TABLES:    提供了关于数据库中的表的信息,详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息,其中table_name字段保存了所有列名信息,show tables from schemaname的结果取自此表.

    例如select group_concat(table_name) from information_schema.tables;

    COLUMNS:     提供了表中的列信息.详细表述了某张表的所有列以及每个列的信息,其中column_name保存了所有的字段信息.show columns from schemaname.tablename的结果取自此表.

     例如select group_concat(column_name) from information_schema.columns;

     一般在使用information_schema表的时候,都要用where选则需要的那个表,不然数据量太大

    举个例子

    得到表名:  select group_concat(table_name) from information_schema.tables where table_schema=database();

    得到字段名: select group_concat(column_name) from information_schema.columns where table_name=xxx;

    得到数据:  select group_concatusername,passward,xxx,…………) from xxx;
     

    select group_concat(column_name) from information_schema.columns;

  • 相关阅读:
    PHP 5.5.0 Alpha5 发布
    Ubuntu Touch 只是另一个 Android 皮肤?
    MariaDB 10 已经为动态列提供文档说明
    Percona Toolkit 2.1.9 发布,MySQL 管理工具
    Oracle Linux 6.4 发布
    Ruby 2.0.0 首个稳定版本(p0)发布
    Apache Pig 0.11.0 发布,大规模数据分析
    Node.js 0.8.21 稳定版发布
    红薯 MySQL 5.5 和 5.6 默认参数值的差异
    Django 1.5 正式版发布,支持 Python 3
  • 原文地址:https://www.cnblogs.com/This-is-Y/p/13492709.html
Copyright © 2011-2022 走看看