文章目录
- 🌱介绍
- 🌷一、先尝鲜
- 💘二、导出失败的看过来
- 🐒三、原理
- 🐷总结
🌱介绍
🌷一、先尝鲜
🍃执行下面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-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\
,意思是你只能向该文件夹内上传文件,看下它所在的文件夹:👇
😎是时候逆天改命
了🎵,这样操作,一般这种情况首先想到的就是去配置文件修改,打开my.ini
文件,用Ctrl+F搜索secure-file-priv
可以看到这个💩家伙藏在这里:
此时我们只需要把该行配置注释(给自己留一条后路😜),新增一行,也就是让其置为空
secure-file-priv=
✨然后重新启动MySQL服务即可,我相信有的小伙伴还是会出现如下错误(心态崩了😥):
它的意思是说你没有权限
创建文件,这个属于文件系统权限
问题,可以看到导出的目的地是C盘
,此时的你可以这样做, ❗️不要导出到系统盘 ❗️,可能有的小伙伴懒惰(其实俺也一样😅),喜欢导出到桌面。
🐒三、原理
💫 每个数据库都会有一个默认的INFORMATION_SCHEMA
数据库,该数据库下有其中两张表TABLES
、COLUMNS
,他们分别用于存储我们创建的表的信息和列信息,列中存储了关于该列的所有字段属性,所以我们只需要查询该两张表就可以得到我们需要的字段信息。🐗代码生成器
也会用到该两张系统表。
🐷总结
🌺通过使用该方式可以解决用手敲的麻烦事和错误率,同时可以提高效率,有人可能认为用Navicat复制一下就行了,不过复制的是所有内容。