問題
我們都知道在建表的時候定義字段列名、數據類型、長度等信息,但是卻無法保存複製,那麼如何查出所有字段信息並且可以複製呢?
首先,數據庫裏面有個叫INFORMATION_SCHEMA的數據庫,裏面提供了一張名爲COLUMNS的表,我們可以利用這張表來查詢數據庫信息,這也是利用了SQL注入漏洞。
工具
這裏我們用到Navicat
方法
然後我們執行如下代碼,其中table_name是表名,table_schema是數據庫名
SELECT
COLUMN_NAME 列名,
DATA_TYPE 字段類型,
COLUMN_TYPE 數據類型,
CHARACTER_MAXIMUM_LENGTH 長度,
COLUMN_KEY 約束,
IS_NULLABLE 是否爲空,
COLUMN_DEFAULT 默認值,
COLUMN_COMMENT 備註
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
table_name = 'tb_resource_check'
AND
table_schema = 'db_resource_share'
結果
最後,我們來查看結果,可以看到每個字段的詳細信息都被查詢出來了