我们都知道在建表的时候定义字段类型等信息,虽然可以通过desc 表名来查询,但是有些却显示不了,那么如何查看其他信息呢?
首先,数据库里面有个数据库是叫mysql的数据库,里面提供了一张名为INFORMATION_SCHEMA表,我们可以利用这张表了解很多数据库数据信息,这也是SQL注入漏洞里面要利用的。
1、通过下面代码能查询MoChou数据库里面Blog表的全部信息。
SELECT
*
FROM
INFORMATION_SCHEMA. COLUMNS
WHERE
-- MoChou为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema = 'MoChou'
AND
--blog为表名,到时候换成你要导出的表的名称,如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了
table_name = 'blog'
2、其中字段名解释如下:
TABLE_NAME 表名
COLUMN_NAME 列名
COLUMN_TYPE 数据类型
DATA_TYPE 字段类型
CHARACTER_MAXIMUM_LENGTH 长度
IS_NULLABLE 是否为空
COLUMN_KEY 约束
COLUMN_DEFAULT 默认值
COLUMN_COMMENT 备注
3、将*代替为某些组合字段就可以查询相应信息。
SELECT
TABLE_NAME 表名,
COLUMN_NAME 列名,
COLUMN_TYPE 数据类型,
DATA_TYPE 字段类型,
CHARACTER_MAXIMUM_LENGTH 长度,
IS_NULLABLE 是否为空,
COLUMN_KEY 约束,
FROM
INFORMATION_SCHEMA. COLUMNS
WHERE
-- MoChou为数据库名称,到时候只需要修改成你要导出表结构的数据库即可
table_schema = 'MoChou'
AND
--blog为表名,到时候换成你要导出的表的名称,如果不写的话,默认会查询出所有表中的数据,这样可能就分不清到底哪些字段是哪张表中的了
table_name = 'blog'
Navicat Premium 12软件有个好处,可以导出结果到本地,具体参考另外一篇文章:帝国CMS批量替换数据表前缀