1. 程式人生 > >MYSQL資料庫爆庫爆表爆欄位

MYSQL資料庫爆庫爆表爆欄位

MySQL版本大於5.0時,有個預設資料庫information_schema,裡面存放著所有資料庫的資訊(比如表名、 列名、對應許可權等),通過這個資料庫,我們就可以跨庫查詢,爆表爆列。

列名 資料型別 描述
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 1,5/*5,1表示從第1個開始,數到第5個
然後就是爆表了就是從2-6。
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資料庫名、的大小寫問題

在使用MySQL建庫的過程中發現了一個問題,無論怎麼建立庫,創建出來的庫名都是小寫的。然後上網查了一下資料。 在MySQL中,資料庫和表都是對應目錄下的一個或多個檔案。因此,作業系統的大小寫是否敏感

檢視和修改 mysql編碼

檢視編碼 檢視資料庫編碼。 show variables like '%char%'; 查看錶編碼 show create table <表名>; 例:show create table user; 檢視欄

資料庫設計之設計

資料庫設計技巧系列--設計表和欄位 設計表和欄位 1. 檢查各種變化 我在設計資料庫的時候會考慮到哪些資料欄位將來可能會發生變更。比方說,姓氏就是如此(注意是西方人的姓氏,比如女性結婚後從夫姓等)。所以,在建立系統儲存客戶資訊時,我傾向於在單獨的一個數據表裡儲存姓氏欄位

sql 注入及

http://www.cchacker.com/main 轉載請保留來源與版權資訊,尊重作者勞動。 一、SQL 指令碼注入攻擊前奏 注入點的尋找、區分、與判斷手工尋找檢測注入點http://www.target.com/article.asp?id=1ASP 注入http:

mysql 利用information_schemaCOLUMNS檢視哪些含有指定

通常情況下,我們可以通過: 1)show columns from 表名; 2)describe 表名; 3)show create table 表名; 等命令檢視指定表包含哪些欄位資訊,本文討論如何檢視哪些資料表包含指定欄位,顯然上述命令無法實現。 Mysql所有資料表的欄位(COLUMN

mysql【同資料庫的多操作】

一 令人窒息的CONCAT(str1,str2,…) 我只蹭蹭不進去 更新 SELECT CONCAT('update ‘,table_name,’ set 欄位名= 值; ') FROM information_schema.tables WHERE table_s

MySQL修改資料庫字符集

修改資料庫字符集:   程式碼如下:   ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];   把表預設的字符集和所有字元列(CHAR,VARCHAR,TEXT)改為

mysql中為使用者設定資料庫,資料(列)的訪問許可權

1、mysql中對指定使用者,授予某些資料庫,資料表或者欄位訪問許可權 語法: GRANT PRIVILEGES ON DATA.TABLE TO USERS; 溫馨提示: 授權後可以使用2中命令進行使用者許可權許可權,也可以直接重啟mysql程序方式進行許可權重新整理。 A

Mysql 檢視修改資料庫編碼

檢視資料庫編碼 # 需要指定資料庫 USE db_name; SELECT @@character_set_database, @@collation_database; # 不需要指定資料庫 SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_CO

[MySQL] INFORMATION_SCHEMA 資料庫包含所有

sql注入後可以通過該資料庫獲取所有表的欄位資訊 1. COLLATIONS表 提供有關每個字符集的排序規則的資訊。 COLLATIONS表包含以下列: COLLATION_NAME 排序規則名稱。 CHARACTER_SET_NAME 與排序規則關聯的字符集的名稱。 ID 排序規則I

mysql 查詢資料庫裡面的id是否存在 可以限定

DELIMITER $$ USE `awebprice`$$ DROP PROCEDURE IF EXISTS `p_search_value`$$ CREATE DEFINER=`dbn_admin`@`%` PROCEDURE `p_search_value`( IN

mysql常用的一些命令,用於檢視資料庫編碼

1.檢視資料庫支援的所有字符集 show character set;或show char set; 2.檢視當前狀態 裡面包括當然的字符集設定 status或者\s 3.檢視系統字符集設定,包括所有的字符集設定 show variables like 'char%'; 4.檢視資料表中字符集設定 show

mysql阿里雲資料庫針對的匯入和匯出

標題databases匯出 mysqldump -h ip -u 使用者 -p 密碼 資料庫 > 本地目錄/yuyue1.sql; table where條件匯出 mysqldump -h i

Mysql 資料庫常用操作

一、DATABASES資料庫相關操作 -- 檢視有多少個數據庫 SHOW DATABASES; -- 刪除資料庫 DROP DATABASE 庫名; -- 建立資料庫 CREATE DATABAS

用python3對資料庫mysql進行建立、增刪改查操作

import pymysql import sys # python mysql 建立庫、表增刪改查標準語句 print('----------------------------') print('載入mysql模組完成') con = pymysql.connect(ho

MySql的字符集修改及檢視方法

原文連結:http://www.jb51.net/article/68856.htm修改資料庫字符集:複製程式碼程式碼如下:ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...];  

查詢資料庫某個、屬性、註釋說明、是否主鍵、是否非空sql(mysql

SELECT     UPPER(column_name) AS '欄位名稱',     column_comment AS '欄位描述',     UPPER(column_type) AS '欄位型別',     IF(column_key='PRI','TRUE','F

mysql修改的字符集

修改資料庫字符集: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE …]; 把表預設的字符集和所有字元列(CHAR,VARCHAR,TEXT)改為新的字符集

Mysql獲取資料庫的所有,以及所有資訊

在許多時候,我們需要獲取資料庫中所有的表,比如常見的程式碼生成,腳手架之類的,通過選擇庫中的表,配置幾個類屬性,自動生成實體類,dao,service等。 下面是mysql獲取資料庫所有表的語句。 select table_name tableName,

mysql資料庫批量修改值根據關聯資料修改

主要場景應用於A表的欄位cust_id是B表裡面的主鍵ID,根據已經A表中存有的cust_code值做關聯通步B表的cust_id儲存到A表中cust_id中,使用主鍵索引查詢提高查詢效率 UPDATE crm_cust_message_detail d SET d.cus