一条命令导出MySQL表结构xls,做毕设的进来看下,不要傻傻的手敲了

文章目录

  • 介绍
    • 一、先尝鲜
    • 二、导出失败的看过来
    • 三、原理
  • 总结

介绍

一、先尝鲜

执行下面SQL语句,将会发生神奇的事情

SELECT '字段名称','数据类型','主键','长度','备注'
UNION
SELECT
	COLUMN_NAME as 字段名称,
	COLUMN_TYPE as 数据类型,
	if(COLUMN_KEY='PRI','Y','N') as 主键,
	CHARACTER_MAXIMUM_LENGTH as 长度,
	COLUMN_COMMENT as 备注
FROM
	INFORMATION_SCHEMA. COLUMNS
WHERE
	table_schema = 'xc-edu'
AND 
	table_name = 'edu_course_description'
INTO OUTFILE 'D:/xc/table/edu_course_description.xls';

✨还是说下几个重要参数吧

  • table_schema 数据库名
  • table_name 需要导出的表
  • INTO OUTFILE 后面填写导出的地址(我猜你们会导出失败,信不信❔)

效果如下,是不是很巴适
一条命令导出MySQL表结构xls,做毕设的进来看下,不要傻傻的手敲了_第1张图片

一条命令导出MySQL表结构xls,做毕设的进来看下,不要傻傻的手敲了_第2张图片

二、导出失败的看过来

错误是不是这样

1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

英语80级的我翻译一下,错误说的意思是MySQL服务器带参数--secure-file-priv运行,因此不能执行这条SQL语句,该参数是安全文件参数,我们看下这个参数默认值是多少,执行命令,效果如下:

SHOW VARIABLES LIKE "secure_file_priv";

在这里插入图片描述
可以看到安全文件地址为C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\,意思是你只能向该文件夹内上传文件,看下它所在的文件夹:
一条命令导出MySQL表结构xls,做毕设的进来看下,不要傻傻的手敲了_第3张图片
时候逆天改命了,这样操作,一般这种情况首先想到的就是去配置文件修改,打开my.ini文件,用Ctrl+F搜索secure-file-priv可以看到这个家伙藏在这里:
在这里插入图片描述
此时我们只需要把该行配置注释(给自己留一条后路),新增一行,也就是让其置为空

secure-file-priv=

✨然后重新启动MySQL服务即可,我相信有的小伙伴还是会出现如下错误(心态崩了):
在这里插入图片描述
它的意思是说你没有权限创建文件,这个属于文件系统权限问题,可以看到导出的目的地是C盘,此时的你可以这样做, ❗️不要导出到系统盘 ❗️,可能有的小伙伴懒惰(其实俺也一样),喜欢导出到桌面。

三、原理

每个数据库都会有一个默认的INFORMATION_SCHEMA数据库,该数据库下有其中两张表TABLESCOLUMNS,他们分别用于存储我们创建的表的信息和列信息,列中存储了关于该列的所有字段属性,所以我们只需要查询该两张表就可以得到我们需要的字段信息。代码生成器也会用到该两张系统表。

总结

通过使用该方式可以解决用手敲的麻烦事和错误率,同时可以提高效率,有人可能认为用Navicat复制一下就行了,不过复制的是所有内容。

你可能感兴趣的:(MySQL,mysql)