Node 导出 Mysql 所有表名和描述

初始化 Node 项目

创建一个项目目录,我将其命名为 node-mysql-test,然后初始化该项目

npm init -y
// 此时项目里会多一个 package.json 文件,证明初始化成功了。

安装 MySQL 依赖包

使用下面这条命令安装 MySQL 依赖包。

npm install mysql
// 安装完成后,项目里会多一个 node_modules 文件夹,并且 package.json 里会出现 mysql 以及所安装的版本号。

获取表明和描述

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'admin123',
  port: '3306',
  database: 'zhpcs'
});
connection.connect();
const query = 'SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema = ?';
const params = ['zhpcs'];
// 对象 下划线格式转为小驼峰格式
function objHumpTurn(data) {
  if (typeof data != 'object' || !data) return data
  if (Array.isArray(data)) {
      return data.map(item => objHumpTurn(item))
  }
  const newData = {}
  for (let key in data) {
      let newKey = key.replace(/_([a-z])/g, (p, m) => m.toUpperCase())
      newData[newKey] = objHumpTurn(data[key])
  }
  return newData
}
connection.query(query, params, (error, results, fields) => {
  if (error) throw error;
  console.dir(objHumpTurn(results), {'maxArrayLength': null})
});
connection.end();

结果

[
  { tableName: 'base_building_info', tableComment: '建筑物楼栋信息表' },
  { tableName: 'base_building_partition', tableComment: '分区信息表' },
  { tableName: 'base_building_unit_info', tableComment: '楼栋单元信息表' },
  { tableName: 'base_building_room_info', tableComment: '房屋信息表' }
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端全栈分享站

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值