q.py 801 B

123456789101112131415161718192021222324
  1. # -*- coding: utf-8 -*-
  2. """快速执行 SQL 并打印结果:python q.py "select ..." "select ..." """
  3. import re
  4. import sys
  5. import pymysql
  6. from _root import ROOT
  7. YML = str(ROOT / "yoshop-java/src/main/resources/application.yml")
  8. pwd = re.findall(r"password:\s*(.+)", open(YML, encoding="utf-8").read())[0].strip().strip("\"'")
  9. conn = pymysql.connect(host="192.168.1.177", port=3306, user="root", password=pwd, database="shop", autocommit=True)
  10. cur = conn.cursor()
  11. for sql in sys.argv[1:]:
  12. cur.execute(sql)
  13. if cur.description is None:
  14. print(f"OK ({cur.rowcount} rows)")
  15. print("---")
  16. continue
  17. cols = [d[0] for d in cur.description]
  18. print(" | ".join(cols))
  19. for r in cur.fetchall():
  20. print(" | ".join(str(x) for x in r))
  21. print("---")
  22. conn.close()