当前位置: 首页 > news >正文

Python - sqlparse 解析库的基础使用

安装

首先打开命令行,输入:

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)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Spring Boot 集成 Elasticsearch 时,是使用 Java API 还是原生的 Elasticsearch API?
  • 2024 Testing Expo即将开幕,怿星科技展品大剧透!
  • .Net插件开发开源框架
  • Win 11用户全面中招,微软强制更新致性能下降45%
  • AtCoder Beginner Contest 367(ABCDEF题)视频讲解
  • 将iso格式的镜像文件转化成云平台能安装的镜像格式(raw/vhd/QCOW2/VMDK )亲测--图文详解
  • 优化Maven镜像配置:使用阿里云加速依赖下载
  • 【密码学】密钥管理:②密钥分配
  • 从零开始学习SLAM(五):极几何与极约束
  • 消息系统类型
  • <数据集>航拍牧场牛羊识别数据集<目标检测>
  • Python 字符串转对象
  • 【C语言】static和extern的作用
  • Kubernetes 清理资源常用的 Kubernetes 清理命
  • SAP 预扣税配置步骤文档【Withholding Tax]
  • 【EOS】Cleos基础
  • Angular 响应式表单 基础例子
  • css选择器
  • Docker容器管理
  • es的写入过程
  • Java IO学习笔记一
  • Javascript设计模式学习之Observer(观察者)模式
  • Java的Interrupt与线程中断
  • Redis 懒删除(lazy free)简史
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • unity如何实现一个固定宽度的orthagraphic相机
  • 飞驰在Mesos的涡轮引擎上
  • 高程读书笔记 第六章 面向对象程序设计
  • 记一次和乔布斯合作最难忘的经历
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 浅谈web中前端模板引擎的使用
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 用 Swift 编写面向协议的视图
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ###项目技术发展史
  • #QT(TCP网络编程-服务端)
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (1)SpringCloud 整合Python
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (ibm)Java 语言的 XPath API
  • (java)关于Thread的挂起和恢复
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (附源码)计算机毕业设计大学生兼职系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)视频码率,帧率和分辨率的联系与区别
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ****三次握手和四次挥手
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题