执行下面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';
✨还是说下几个重要参数吧
错误是不是这样
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复制一下就行了,不过复制的是所有内容。