2020年10月17日土曜日

PythonとMoz SQL Parserを使用してSQLを解析する

Moz SQL ParserでSQLを構文解析して、JSON形式で結果を取得することができます。

インストール方法

以下のコマンドでMoz SQL Parserをインストールします。
pip install moz-sql-parser

サンプルコード

使用方法はシンプルで、parseにSQLクエリを渡すと、JSONで返されます。
from moz_sql_parser import parse
import json

query = """select * 
from pg_stats 
where n_distinct >= 50 and schemaname = 'pg_catalog'
order by n_distinct desc
"""
print(json.dumps(parse(query), indent=2))

・実行結果
{
  "select": "*",
  "from": "pg_stats",
  "where": {
    "and": [
      {
        "gte": [
          "n_distinct",
          50
        ]
      },
      {
        "eq": [
          "schemaname",
          {
            "literal": "pg_catalog"
          }
        ]
      }
    ]
  },
  "orderby": {
    "value": "n_distinct",
    "sort": "desc"
  }
}

関連情報

Moz SQL Parserのgithubリポジトリ
https://github.com/mozilla/moz-sql-parser

0 件のコメント:

コメントを投稿