zoukankan      html  css  js  c++  java
  • python3-sql解析库——sqlparse

    1.官方文档

      https://sqlparse.readthedocs.io/en/latest/

    2.快速开始

      使用pip或者conda安装:

    conda install sqlparse

      使用官网示例快速入门,使用sqlparse的三大常用功能:

    # -*- coding:UTF-8 -*-
    import sqlparse
    
    sql = "select id,name_,age from dual;select id,'18;19',age from actor;"
    # 1.分割SQL
    stmts = sqlparse.split(sql)
    for stmt in stmts:
        # 2.format格式化
        print(sqlparse.format(stmt, reindent=True, keyword_case="upper"))
        # 3.解析SQL
        stmt_parsed = sqlparse.parse(stmt)
        print(stmt_parsed[0].tokens)

      输出如下:

    SELECT id,
           name_,
           age
    FROM dual;
    [<DML 'select' at 0x20A7A0F3F48>, <Whitespace ' ' at 0x20A7A0FD5E8>, <IdentifierList 'id,nam...' at 0x20A7A0FA6D8>, <Whitespace ' ' at 0x20A7A0FD828>, <Keyword 'from' at 0x20A7A0FD888>, <Whitespace ' ' at 0x20A7A0FD8E8>, <Identifier 'dual' at 0x20A7A0FA660>, <Punctuation ';' at 0x20A7A0FD9A8>]
    SELECT id,
           '18;19',
           age
    FROM actor;
    [<DML 'select' at 0x20A7A0F3B88>, <Whitespace ' ' at 0x20A7A0F3BE8>, <IdentifierList 'id,'18...' at 0x20A7A0FA7C8>, <Whitespace ' ' at 0x20A7A0F3E28>, <Keyword 'from' at 0x20A7A0F3E88>, <Whitespace ' ' at 0x20A7A0F3EE8>, <Identifier 'actor' at 0x20A7A0FA0C0>, <Punctuation ';' at 0x20A7A0F36A8>]

    3.实例

  • 相关阅读:
    洛谷 1195 口袋的天空
    洛谷1955 程序自动分析
    【洛谷3295】[SCOI2016]萌萌哒
    洛谷2024 食物链
    八数码问题
    Codeforces Round #442 (Div. 2)
    Oracle 中truncate与delete的区别
    git命令提交步骤和解决冲突的
    git 更新代码到本地
    12、Python中的包
  • 原文地址:https://www.cnblogs.com/jiangbei/p/11274942.html
Copyright © 2011-2022 走看看