Skip to main content

A sql parser which support mysql, oceanbase and odps

Project description

sqlgpt-parser

sqlgpt-parser is a Python implementation of an SQL parser that effectively converts SQL statements into Abstract Syntax Trees (AST). By leveraging AST tree comparisons between two SQL queries, it becomes possible to achieve robust evaluation of text-to-SQL models.

Quick Start

Install

pip install sqlgpt-parser

Parser SQL

>>> from sqlgpt_parser.sql_parser.mysql_parser import parser as mysql_parser
>>> mysql_parser.parse("select * from t")
Query(query_body=QuerySpecification(select=Select(distinct=False, select_items=[SingleColumn(expression=QualifiedNameReference(name=QualifiedName.of("*")))]), from_=Table(name=QualifiedName.of("t"), for_update=False), order_by=[], limit=0, offset=0, for_update=False, nowait_or_wait=False), order_by=[], limit=0, offset=0)
>>> from sqlgpt_parser.sql_parser.oceanbase_parser import parser as oceanbase_parser
>>> oceanbase_parser.parse("select * from t")
Query(query_body=QuerySpecification(select=Select(distinct=False, select_items=[SingleColumn(expression=QualifiedNameReference(name=QualifiedName.of("*")))]), from_=Table(name=QualifiedName.of("t"), for_update=False), order_by=[], limit=0, offset=0, for_update=False, nowait_or_wait=False), order_by=[], limit=0, offset=0)
>>> from sqlgpt_parser.sql_parser.odps_parser import parser as odps_parser
>>> odps_parser.parse("select * from t")
Query(query_body=QuerySpecification(select=Select(distinct=False, select_items=[SingleColumn(expression=QualifiedNameReference(name=QualifiedName.of("*")))]), from_=Table(name=QualifiedName.of("t"), for_update=False), order_by=[], limit=0, offset=0, for_update=False, nowait_or_wait=False), order_by=[], limit=0, offset=0)

Format SQL

>>> from sqlgpt_parser.format.formatter import format_sql
>>> from sqlgpt_parser.mysql_parser import parser
>>> result=parser.parse("select * from t")
>>> format_sql(result)
'SELECT\n  *\nFROM\n  t'

Getting Started with SQL Parser Development

English Document: SQL Parser Development Guide

中文文档:SQL Parser 开发指南

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sqlgpt_parser-0.0.1a2.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

sqlgpt_parser-0.0.1a2-py3-none-any.whl (2.7 MB view details)

Uploaded Python 3

File details

Details for the file sqlgpt_parser-0.0.1a2.tar.gz.

File metadata

  • Download URL: sqlgpt_parser-0.0.1a2.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for sqlgpt_parser-0.0.1a2.tar.gz
Algorithm Hash digest
SHA256 7608a6a21b033f548a92f1111c9e2a76792406334b9a23390edfc0ca0ea464e6
MD5 ae88b6cb1f43650e9a95018dbca6f423
BLAKE2b-256 480ca79707dd86455561f2d8a7cd0a4403511e05f64a06fbe163baf5f45bac9a

See more details on using hashes here.

File details

Details for the file sqlgpt_parser-0.0.1a2-py3-none-any.whl.

File metadata

File hashes

Hashes for sqlgpt_parser-0.0.1a2-py3-none-any.whl
Algorithm Hash digest
SHA256 1be81c437b4ab5e18afc8c9e9c7361ca7e7937b572184ea5337073829d3a6791
MD5 f9ba5ba0e176239c81060995c0ac6b12
BLAKE2b-256 945c3bd8035d2b094f47e634eba71fa2d334b01e20d68319c8acf4be5ee68a01

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page