文章目录
- 🌱介绍
- 🌷一、先尝鲜
- 💘二、导出失败的看过来
- 🐒三、原理
- 🐷总结
🌱介绍
🌷一、先尝鲜
🍃执行下面SQL语句,将会发生神奇的事情😁
SELECT '字段名称','数据类型','主键','长度','备注'
UNION
SELECTCOLUMN_NAME as 字段名称,COLUMN_TYPE as 数据类型,if(COLUMN_KEY='PRI','Y','N') as 主键,CHARACTER_MAXIMUM_LENGTH as 长度,COLUMN_COMMENT as 备注
FROMINFORMATION_SCHEMA. COLUMNS
WHEREtable_schema = 'xc-edu'
AND table_name = 'edu_course_description'
INTO OUTFILE 'D:/xc/table/edu_course_description.xls';
✨还是说下几个重要参数吧
- table_schema 数据库名
- table_name 需要导出的表
- INTO OUTFILE 后面填写导出的地址(我猜你们会导出失败😎,信不信❔)
💖效果如下,是不是很巴适😂


💘二、导出失败的看过来
错误是不是这样
1290 - The MySQL server is running with the
--secure-file-privoption 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\,意思是你只能向该文件夹内上传文件,看下它所在的文件夹:👇

😎是时候逆天改命了🎵,这样操作,一般这种情况首先想到的就是去配置文件修改,打开my.ini文件,用Ctrl+F搜索secure-file-priv可以看到这个💩家伙藏在这里:

此时我们只需要把该行配置注释(给自己留一条后路😜),新增一行,也就是让其置为空
secure-file-priv=
✨然后重新启动MySQL服务即可,我相信有的小伙伴还是会出现如下错误(心态崩了😥):

它的意思是说你没有权限创建文件,这个属于文件系统权限问题,可以看到导出的目的地是C盘,此时的你可以这样做, ❗️不要导出到系统盘 ❗️,可能有的小伙伴懒惰(其实俺也一样😅),喜欢导出到桌面。
🐒三、原理
💫 每个数据库都会有一个默认的INFORMATION_SCHEMA数据库,该数据库下有其中两张表TABLES、COLUMNS,他们分别用于存储我们创建的表的信息和列信息,列中存储了关于该列的所有字段属性,所以我们只需要查询该两张表就可以得到我们需要的字段信息。🐗代码生成器也会用到该两张系统表。
🐷总结
🌺通过使用该方式可以解决用手敲的麻烦事和错误率,同时可以提高效率,有人可能认为用Navicat复制一下就行了,不过复制的是所有内容。