Python - sqlparse 解析库的基础使用

news2024/9/20 8:06:20

安装

首先打开命令行,输入:

pip install sqlparse

这样就显示已经安装好了

使用

创建一个 Python 项目,导入 sqlparse 包:

1. parse

sql = "select * from table1 where id = 1;"

# 1. parse
# parse方法将 SQL语句 解析成一颗解析树的列表,每个解析树都是一个 SQL语句 的逻辑结构
parsed = sqlparse.parse(sql)
for item in parsed:
    # 解析树以Token的形式存在,每个Token代表SQL语句的一个部分
    print(item.tokens)

或者也可以:

# 定义SQL语句
sql = "SELECT name, age FROM users WHERE id = 1;"

# 解析SQL语句
parsed = sqlparse.parse(sql)[0]

# 获取SQL语句的组成部分
for token in parsed.tokens:
    print("Token:", token)

2. format

sql = "select * from table1 where id = 1;"

# 2. format
# 将 sql 语句进行格式化的操作
# reindent:表示是否根据关键字来控制缩进
# keyword_case:表示是否将关键字变为大写
formatted = sqlparse.format(sql, reindent=True, keyword_case='upper')
print(formatted)

3. split

raw = 'select * from foo; select * from bar;'
parsed = sqlparse.split(raw, strip_semicolon=True)  # strip_semicolon 表示是否要将分号去掉,默认是 False
print(parsed)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2072976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

全网最适合入门的面向对象编程教程:38 Python常用复合数据类型-使用列表实现堆栈、队列和双端队列

全网最适合入门的面向对象编程教程:38 Python 常用复合数据类型-使用列表实现堆栈、队列和双端队列 摘要: 在 Python 中,列表(list)是一种非常灵活的数据结构,可以用来实现堆栈(stack&#xff…

如何使用ssm实现国学文化网站的设计与制作

TOC ssm187国学文化网站的设计与制作jsp 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范…

【Kaggle】练习赛《有毒蘑菇的二分类预测》(上)

前言 本篇文章介绍的是Kaggle月赛《Binary Prediction of Poisonous Mushrooms》,即《有毒蘑菇的二分类预测》。与之前练习赛一样,这声比赛也同样适合初学者,但与之前不同的是,本次比赛的数据集有大量的缺失值,如何处…

没有找到c:\windows\system32\msrd3x43.dll。

打开鸭子串口工具,总会出现这个弹窗; 原因:没有以管理员身份运行 解决办法: 1.不用理会它,对串口工具运行没有任何影响。就算你下载了也没用,依然会有提示。 2.或者鼠标右键,以管理员身份运…

go国内源设置

一、背景 部分网络环境不稳定、丢包或无法连外网,在编译go代码时,需要更新相关依赖,可通过设置go国内源地址来更新。 二、国内可用镜像源 2.1 镜像源一 https://goproxy.cn 2.2 镜像源二 https://goproxy.io 2.3 镜像源三 https://gop…

零基础学习Redis(6) -- string类型命令使用

redis中,不同的数据结构有不同的操作命令。 redis中的string是按照二进制存储的,不会对数据做任何编码转换。 1. set / get 命令 为了方便使用,redis提供了多个版本的get / set命令来操作字符串 1. set set key value [expiration EX sec…

NVIDIA将在Hot Chips 2024会议上展示Blackwell服务器装置

NVIDIA 将在 Hot Chips 2024 上展示其 Blackwell 技术堆栈,并在本周末和下周的主要活动中进行会前演示。对于 NVIDIA 发烧友来说,这是一个激动人心的时刻,他们将深入了解NVIDIA的一些最新技术。然而,Blackwell GPU 的潜在延迟可能…

iptables: Chain Already Exists:完美解决方法

iptables: Chain Already Exists:完美解决方法 🔥 iptables: Chain Already Exists:完美解决方法 🔥摘要引言正文内容 📚什么是 Chain already exists 错误? 🤔常见原因及解决方法 &#x1f52…

排序算法刷题【leetcode88题目:合并两个有序数组、leetcode21:合并两个有序链表】

一、合并两个有序数组 题目比较简单&#xff0c;使用归并排序里面的同样的操作就可以&#xff0c;代码如下所示 #include <iostream> #include <vector> using namespace std;/* leetcode88题&#xff1a;合并两个有序数组 */ class Solution { public:void merge…

九、前端中的异步方法Promise,Promise详解

文章目录 1.Promise简介什么是promise为什么使用Promisepromise中的状态 2.Promis的用法 1.Promise简介 什么是promise Promise是异步编程的一种解决方案&#xff0c;它的构造函数是同步执行的&#xff0c;then 方法是异步执行的。 为什么使用Promise 在JavaScript的世界中…

入门Java编程的知识点—>数组(day05)

重点掌握数组是什么&#xff1f;为什么要使用&#xff1f;如何进行数组的定义&#xff1f; 数组 数组是用来存储同一类型多个元素的存储结构,数组是引用数据类型. 存储同一类型的多个元素如何理解? 生活中: 衣柜→可以存储多个衣服 | 鞋柜→可以存储多个鞋子 | 橱柜→可以存储…

嵌入式Qt移植之tslib部署到Busybox根文件-思维导图-学习笔记-基于正点原子阿尔法开发板

嵌入式Qt移植之tslib部署到Busybox根文件 烧写Busybox根文件系统到开发板 准备好一个固化系统 以TF卡为例子 TF 卡用读卡器插到 Ubuntu 虚拟机 会出现两个分区 boot分区是存放内核和设备树这些 rootfs分区是存放文件系统的 eMMC、NADA FLASH或者其他方式挂载也可&#xf…

windows删除不了的一些长名字文件,为什么python可以删除?

感谢阅读 windows报错截图windows最大文件路径长度限制为什么基于windows系统运行的python可以完成删除文件名259字符的文件&#xff1f;文件系统的存储方式操作系统和文件系统的关系总结 windows报错截图 windows最大文件路径长度限制 但真的是260字符吗&#xff1f;早期windo…

系统分析师4:数据库系统

文章目录 1 数据库体系结构1.1 三级模式和两级映像1.2 分布式数据库1.2.1 分布式数据库概述1.2.2 分布式数据库特点1.2.3 透明性分类 2 数据库设计2.1 数据库设计概述2.2 概念结构设计2.3 逻辑结构设计 3 关系代数3.1 关系代数介绍3.2 典型例题 4 规范化理论4.1 规范化理论基础…

《黑神话·悟空》背后的神秘力量——揭秘游戏服务器架构

✌ 作者名字&#xff1a;高峰君主 &#x1f482; 作者个人网站&#xff1a;高峰君主 - 一个数码科技爱好者 &#x1f4eb; 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一起进步&#x1f440; &#x1f4ac; 人生格言&#xff1a;没有…

“智汇论坛“——基于 Spring 前后端分离版本的论坛系统

一.项目背景 1.项目简介 智汇论坛是一个集高科技与高效交流于一体的在线社区平台&#xff0c;旨在为用户提供一个便捷、智能的讨论空间。通过集成先进的服务器端技术和丰富的浏览器端技术&#xff0c;智汇论坛不仅支持用户之间的实时互动与信息共享&#xff0c;还确保了平台的…

火语言RPA流程组件介绍--提取应用内嵌资源

&#x1f6a9;【组件功能】&#xff1a;提取应用内嵌的文件、图片及文本等资源 配置预览 配置说明 提取类型 文件|图片|文本 选择资源 选择内嵌资源中的文件或者文本图片 提取成 路径|文本|二进制内容 输入输出 输入类型 万能对象类型(System.Object)输出类型 字符串…

电脑U口管理软件分享|U口管理软件哪个好?

电脑U口&#xff08;即USB端口&#xff09;管理软件是保护电脑安全、防止数据泄露和恶意软件入侵的重要工具。 在选择U口管理软件时&#xff0c;需要考虑其功能、易用性、安全性以及是否满足个人或企业的具体需求。以下是一些值得推荐的电脑U口管理软件及其特点&#xff1a; 1…

Ptrade获取热门板块,连板股票 python代码

之前有人咨询&#xff0c;ptrade如何获取不同的概念板块个股。其实很容易&#xff0c;本身有获取板块信息的API函数&#xff1a; get_sort_msg – 获取板块、行业的涨幅排名 get_sort_msg(sort_type_grpNone, sort_field_nameNone, sort_type1, data_count100) 接口说明 该接…

cola_os学习笔记(上)

cola_os的学习笔记 声明 该项目系本人学习项目所做的笔记。该项目的项目地址为cola_os: 300行代码实现多任务管理的OS&#xff0c;在很多MCU开发中&#xff0c;功能很简单&#xff0c;实时性要求不强&#xff0c;如果使用RTOS显得太浪费&#xff0c;任务多了管理不当又很乱&a…