標籤:擷取 lint 排序 pad 版本 標識 dom domain var
MySQL版本大於5.0時,有個預設資料庫information_schema,裡面存放著所有資料庫的資訊(比如表名、 列名、對應許可權等),通過這個資料庫,我們就可以跨庫查詢,爆表爆列。
若要從這些視圖中檢索資訊,請指定完全合格的 INFORMATION_SCHEMA view_name 名稱。
| 列名 |
資料類型 |
描述 |
| TABLE_CATALOG |
nvarchar(128) |
表限定符。 |
| TABLE_SCHEMA |
nvarchar(128) |
表所有者。 |
| TABLE_NAME |
nvarchar(128) |
表名。 |
| COLUMN_NAME |
nvarchar(128) |
列名。 |
| ORDINAL_POSITION |
smallint |
列標識號。 |
| COLUMN_DEFAULT |
nvarchar(4000) |
列的預設值。 |
| IS_NULLABLE |
varchar(3) |
列的為空白性。如果列允許 NULL,那麼該列返回 YES。否則,返回 NO。 |
| DATA_TYPE |
nvarchar(128) |
系統提供的資料類型。 |
| CHARACTER_MAXIMUM_LENGTH |
smallint |
以字元為單位的最大長度,適於位元據、字元資料,或者文本和映像資料。否則,返回 NULL。有關更多資訊,請參見資料類型。 |
| CHARACTER_OCTET_LENGTH |
smallint |
以位元組為單位的最大長度,適於位元據、字元資料,或者文本和映像資料。否則,返回 NULL。 |
| NUMERIC_PRECISION |
tinyint |
近似數字資料、精確數字資料、整型資料或貨幣資料的精度。否則,返回 NULL。 |
| NUMERIC_PRECISION_RADIX |
smallint |
近似數字資料、精確數字資料、整型資料或貨幣資料的精度基數。否則,返回 NULL。 |
| NUMERIC_SCALE |
tinyint |
近似數字資料、精確數字資料、整數資料或貨幣資料的小數位元。否則,返回 NULL。 |
| DATETIME_PRECISION |
smallint |
datetime 及 SQL-92 interval 資料類型的子類型代碼。對於其它資料類型,返回 NULL。 |
| CHARACTER_SET_CATALOG |
varchar(6) |
如果列是字元資料或 text 資料類型,那麼返回 master,指明字元集所在的資料庫。否則,返回 NULL。 |
| CHARACTER_SET_SCHEMA |
varchar(3) |
如果列是字元資料或 text 資料類型,那麼返回 DBO,指明字元集的所有者名稱。否則,返回 NULL。 |
| CHARACTER_SET_NAME |
nvarchar(128) |
如果該列是字元資料或 text 資料類型,那麼為字元集返回唯一的名稱。否則,返回 NULL。 |
| COLLATION_CATALOG |
varchar(6) |
如果列是字元資料或 text 資料類型,那麼返回 master,指明在其中定義排序次序的資料庫。否則此列為 NULL。 |
| COLLATION_SCHEMA |
varchar(3) |
返回 DBO,為字元資料或 text 資料類型指明排序次序的所有者。否則,返回 NULL。 |
| COLLATION_NAME |
nvarchar(128) |
如果列是字元資料或 text 資料類型,那麼為排序次序返回唯一的名稱。否則,返回 NULL。 |
| DOMAIN_CATALOG |
nvarchar(128) |
如果列是一種使用者定義資料類型,那麼該列是某個資料庫名稱,在該資料庫名中建立了這種使用者定義資料類型。否則,返回 NULL。 |
| DOMAIN_SCHEMA |
nvarchar(128) |
如果列是一種使用者定義資料類型,那麼該列是這種使用者定義資料類型的建立者。否則,返回 NULL。 |
| DOMAIN_NAME |
nvarchar(128) |
如果列是一種使用者定義資料類型,那麼該列是這種使用者定義資料類型的名稱。否則,返回 NULL。 |
首先介紹一下的是爆庫
select SCHEMA_NAME from information_schema.SCHEMATA limit 5,1/*5,1表示從第1個開始,數到第5個
然後就是爆表了。
select TABLE_NAME from information_schema.TABLES where TABLE_SCHEMA=0×6D656D626572 limit5,1/*TABLE_SCHEMA=後面是庫名的16進位
再來爆欄位
select COLUMN_NAME from information_schema.COLUMNS whereTABLE_NAME=0×61646D5F75736572 limit 5,1/*
所有資料都是從information_schema.columns這個表裡擷取,因為從information_schema這個庫我們可以看到,從information_schema.columns這個表裡,我們可以查到所有的資訊,因為它在裡面,table_schema、 table_name、column_name這個三個列都有,所以我們可以直接通過這個表,查出我們需要的所有資訊,就省了換表這一步了,進一步提升速度
Mysql 通過information_schema爆庫,爆表,爆欄位