mysql中information_schema.columns字段說明

MySQL版本大於5.0時,有個默認數據庫information_schema,裏面存放着所有數據庫的信息(比如表名、 列名、對應權限等),通過這個數據庫,我們就可以跨庫查詢,爆表爆列。

1. 獲取所有列信息(COLUMNS)

SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=‘數據庫名’; COLUMNS表:提供了關於表中的列的信息。詳細表述了某個列屬於哪個表。各字段說明如下:

字段 含義
table_schema 表所有者(對於schema的名稱)
table_name 表名
column_name 列名
ordinal_position 列標識號
column_default 列的默認值
is_nullable 列的爲空性。如果列允許 null,那麼該列返回 yes。否則,返回 no
data_type 系統提供的數據類型
character_maximum_length 以字符爲單位的最大長度,適於二進制數據、字符數據,或者文本和圖像數據。否則,返回 null。有關更多信息,請參見數據類型
character_octet_length 以字節爲單位的最大長度,適於二進制數據、字符數據,或者文本和圖像數據。否則,返回 nu
numeric_precision 近似數字數據、精確數字數據、整型數據或貨幣數據的精度。否則,返回 null
numeric_precision_radix 近似數字數據、精確數字數據、整型數據或貨幣數據的精度基數。否則,返回 null
numeric_scale 近似數字數據、精確數字數據、整數數據或貨幣數據的小數位數。否則,返回 null
datetime_precision datetime 及 sql-92 interval 數據類型的子類型代碼。對於其它數據類型,返回 null
character_set_catalog 如果列是字符數據或 text 數據類型,那麼返回 master,指明字符集所在的數據庫。否則,返回 null
character_set_schema 如果列是字符數據或 text 數據類型,那麼返回 dbo,指明字符集的所有者名稱。否則,返回 null
character_set_name 如果該列是字符數據或 text 數據類型,那麼爲字符集返回唯一的名稱。否則,返回 null
collation_catalog 如果列是字符數據或 text 數據類型,那麼返回 master,指明在其中定義排序次序的數據庫。否則此列爲 null
collation_schema 返回 dbo,爲字符數據或 text 數據類型指明排序次序的所有者。否則,返回 null
collation_name 如果列是字符數據或 text 數據類型,那麼爲排序次序返回唯一的名稱。否則,返回 null。
domain_catalog 如果列是一種用戶定義數據類型,那麼該列是某個數據庫名稱,在該數據庫名中創建了這種用戶定義數據類型。否則,返回 null
domain_schema 如果列是一種用戶定義數據類型,那麼該列是這種用戶定義數據類型的創建者。否則,返回 null
domain_name 如果列是一種用戶定義數據類型,那麼該列是這種用戶定義數據類型的名稱。否則,返回 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 limit 5,1/TABLE_SCHEMA=後面是庫名的16進制
再來爆字段
select COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME=0×61646D5F75736572 limit 5,1/

所有數據都是從information_schema.columns這個表裏獲取,因爲從information_schema這個庫我們可以看到,從information_schema.columns這個表裏,我們可以查到所有的信息,因爲它在裏面,table_schema、 table_name、column_name這個三個列都有,所以我們可以直接通過這個表,查出我們需要的所有信息,就省了換表這一步了,進一步提升速度

SELECT
TABLE_SCHEMA AS ‘數據庫’,
TABLE_NAME AS ‘表名’,
column_name AS ‘字段名稱’,
COLUMN_TYPE AS ‘字段類型’,
IS_NULLABLE AS ‘是否爲空’,
COLUMN_DEFAULT AS ‘默認值’,
column_comment AS ‘字段備註’
FROM
information_schema. COLUMNS
WHERE
table_name = ‘yyd_elife_city’
OR table_name = ‘yyd_elife_column_list’
OR table_name = ‘yyd_elife_coupon_list’
OR table_name = ‘yyd_elife_goods_label_list’
OR table_name = ‘yyd_elife_member_extend’
OR table_name = ‘yyd_biz_content_log’
OR table_name = ‘yyd_e_refund’
OR table_name = ‘yyd_e_statistic_goods’
OR table_name = ‘yyd_e_statistic_ip’
OR table_name = ‘yyd_e_statistic_main’

原文:http://blog.sina.com.cn/s/blog_160965eee0102xx3k.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章