查询mysql数据库某个库所有表和表字段及字段属性,将查询结果从linux服务器上导出为Excel文件,下载到本地电脑


前言

需求是查询mysql数据库某个库所有表和表字段及字段属性,将查询结果从linux服务器上导出为Excel文件,下载到本地。


一、查询某个库所有表和表字段

SELECT 
	C.ORDINAL_POSITION AS 列的排列顺序,
	C.COLUMN_KEY AS 键, 
	T.TABLE_NAME AS 表名,
	T.TABLE_COMMENT AS 表注释,
	C.COLUMN_NAME AS 列名,
	C.COLUMN_COMMENT AS 列注释, 
	C.IS_NULLABLE AS 是否为空,
	C.DATA_TYPE AS 数据类型 
FROM 
	information_schema.TABLES T LEFT JOIN information_schema.COLUMNS C ON T.TABLE_NAME = C.TABLE_NAME AND T.table_schema = C.table_schema 
WHERE 
	T.TABLE_SCHEMA = 'test' ORDER BY C.TABLE_NAME,C.ORDINAL_POSITION;

PS:test是库名,根据需要自行修改,不同版本的mysql,可能有些许差异,但差异不大如果有点数据库基础,执行一下根据提示信息,自行更正。

二、将结果集导出成Excel文件

命令:
mysql -u 用户名 -p -e"select * from test_table" > /test.xls
回车,输入密码
即可导出成功。
范例:
mysql -u root -p -e"SELECT C.ORDINAL_POSITION AS 列的排列顺序, C.COLUMN_KEY AS 键, T.TABLE_NAME AS 表名, T.TABLE_COMMENT AS 表注释,C.COLUMN_NAME AS 列名, C.COLUMN_COMMENT AS 列注释, C.IS_NULLABLE AS 是否为空, C.DATA_TYPE AS 数据类型 FROM information_schema.TABLES T LEFT JOIN information_schema.COLUMNS C ON T.TABLE_NAME = C.TABLE_NAME AND T.table_schema = C.table_schema WHERE T.TABLE_SCHEMA = 'test' ORDER BY C.TABLE_NAME,C.ORDINAL_POSITION" > /test.xls

PS:/test.xls是导出的路径和文件名称,根据需求自行进行更改。如果路径问题,可能是操作系统的用户并没有路径的操作权限,可更换路径再次执行。

三、从linux服务器下载文件到本地终端

下载到本地的方法有很多,可以通过工具也可以通过命令。
我使用的是sz命令,如果不可使用sz命令,可能是你未安装lrzsz程序。

1、 安装lrzsz程序

yum -y install lrzsz

2、 执行sz命令

命令:
	sz 目标文件

范例:
	sz test.xls

到了这里就结束了


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值