mysql数据库导出表结构到excel表中

本文介绍了如何使用MySQL的INFORMATION_SCHEMA.COLUMNS表来批量查询和生成数据库表结构文档,通过SQL查询筛选所需字段,并利用INTO OUTFILE功能导出为Excel文件。在遇到' secure-file-priv '选项导致的导出错误时,解释了错误原因及如何修改my.ini配置文件解除限制,允许文件导出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天让做数据库文档

但是数据库字段太多 如果一个一个照着输 能把我弄疯

发现使用内置表INFORMATION_SCHEMA. COLUMNS来查询,任何表中的任何一列都会在此表中对应一行记录,那么可以用它来统一查询

首先生成要导出的表结构、

由于我只需要这几个字段 所以就只查了这些,如果自己有其他需要的字段 可先查* 查出所有字段 再把自己需要的字段填上去即可

*注: UCASE() 函数 是把字母全部大写

SELECT
	COLUMN_COMMENT as 字段名称,
	UCASE(COLUMN_NAME) as 字段,
	UCASE(COLUMN_TYPE) as 数据类型,
	if(IS_NULLABLE='YES','是','否') as 是否必填,
	COLUMN_COMMENT as 含义
FROM
	INFORMATION_SCHEMA. COLUMNS
WHERE
	table_schema = '数据库名称'
AND 
	table_name = '数据表名称'

这样就查出需要的表结构了
在这里插入图片描述
那么再根据 mysql自带的导出功能 INTO OUTFILE

SELECT '字段名称','字段','数据类型','是否必填','含义'
UNION
SELECT
	COLUMN_COMMENT as 字段名称,
	UCASE(COLUMN_NAME) as 字段,
	UCASE(COLUMN_TYPE) as 数据类型,
	if(IS_NULLABLE='YES','是','否') as 是否必填,
	COLUMN_COMMENT as 含义
FROM
	INFORMATION_SCHEMA. COLUMNS
WHERE
	table_schema = 'csp1'
AND 
	table_name = 'sys_user'
INTO OUTFILE 'E:/aa.xls' CHARACTER set GB2312

这里如果出现 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement 错误

报错原因
mysql文件的导入和导出路径有默认的设置,即 secure-file-priv,当传入的csv文件路径与默认的路径冲突时就会报错。

secure-file-priv的值有三种情况:

secure_file_prive=null ––限制mysqld 不允许导入导出

secure_file_priv=/path/ – --限制mysqld的导入导出只能发生在默认的/path/目录下

secure_file_priv=’’ – --不对mysqld 的导入 导出做限制

可以查看secure-file-priv设置:

show variables like%secure%;

那么 需要修改my.ini文件 my.ini文件都在数据库安装目录下

打开my文件,ctrl+f找到关键字secure,修改原路径:

把原路径用#注释掉,改为自定义路径,注意路径用的是斜杠,不是反斜杠

我将路径设置成空,意味着不对mysqld 的导入 导出做限制

设置secure为空即可导出

secure-file-priv=""

在这里插入图片描述
在这里插入图片描述
搞定!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值