Blame view

db-query.js 1.11 KB
e5f8ae55   “wangming”   ```
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  #!/usr/bin/env node
  /**
   * 绿纤ERP 数据库快速查询工具
   * 用法: node db-query.js "SQL语句"
   * 示例: node db-query.js "SHOW TABLES"
   *       node db-query.js "SELECT COUNT(*) as cnt FROM BASE_USER"
   *       node db-query.js "SELECT F_Id, F_Account, F_RealName, F_EnabledMark FROM BASE_USER LIMIT 10"
   */
  
  const mysql = require('mysql2/promise');
  
  const DB_URL = 'mysql://nettest:nettest@rm-2vccze142rc9a8f58bo.mysql.cn-chengdu.rds.aliyuncs.com:3306/lqerp_dev';
  
  async function main() {
    const sql = process.argv[2];
    if (!sql) {
      console.log('用法: node db-query.js "SQL语句"');
      console.log('示例: node db-query.js "SHOW TABLES"');
      process.exit(1);
    }
  
    const conn = await mysql.createConnection(DB_URL);
    try {
      const [rows, fields] = await conn.query(sql);
      if (Array.isArray(rows)) {
        console.log(`共 ${rows.length} 行`);
        if (rows.length > 0) {
          console.table(rows);
        }
      } else {
        console.log(JSON.stringify(rows, null, 2));
      }
    } finally {
      await conn.end();
    }
  }
  
  main().catch(e => {
    console.error('查询失败:', e.message);
    process.exit(1);
  });