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_schema庫COLUMNS表檢視哪些表含有指定欄位
通常情況下,我們可以通過: 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