文章目录

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


🌱介绍

🌷一、先尝鲜

🍃执行下面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 用语句导出表结构信息 mysql如何导出表结构_mysql

mysql 用语句导出表结构信息 mysql如何导出表结构_MySQL_02

💘二、导出失败的看过来

错误是不是这样

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";

mysql 用语句导出表结构信息 mysql如何导出表结构_字段_03


👉可以看到安全文件地址为C:\ProgramData\MySQL\MySQL Server 5.7\Uploads\,意思是你只能向该文件夹内上传文件,看下它所在的文件夹:👇

mysql 用语句导出表结构信息 mysql如何导出表结构_MySQL_04


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

mysql 用语句导出表结构信息 mysql如何导出表结构_字段_05


此时我们只需要把该行配置注释(给自己留一条后路😜),新增一行,也就是让其置为空

secure-file-priv=

✨然后重新启动MySQL服务即可,我相信有的小伙伴还是会出现如下错误(心态崩了😥):

mysql 用语句导出表结构信息 mysql如何导出表结构_mysql 用语句导出表结构信息_06


它的意思是说你没有权限创建文件,这个属于文件系统权限问题,可以看到导出的目的地是C盘,此时的你可以这样做, ❗️不要导出到系统盘 ❗️,可能有的小伙伴懒惰(其实俺也一样😅),喜欢导出到桌面。

🐒三、原理

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

🐷总结

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