jsqlparser 安装和使用

jsqlparser是sql语句解析工具,可以解析sql并分析语法。

安装

<dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>4.3</version>
</dependency>

使用

   String s = """CREATE TABLE `abc` (`abc1` int NOT NULL AUTO_INCREMENT,`abc2` varchar(255) DEFAULT NULL COMMENT 'comment',`abc3` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'comment2',UNIQUE KEY `abc1` (`abc1`),KEY `abc2` (`abc2`),KEY `abc3` (`abc3`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb""";Statement parse = CCJSqlParserUtil.parse(s);if (parse instanceof CreateTable t) {System.out.println(parse);}}

通过parse方法即可发现:
在这里插入图片描述
一些细节:

  • 不支持 # 语法,而只支持 – 对ssql的注释。
    如果使用#会提示#无法解析
  • 索引必须有名称,如果是没名称的索引会抛出 匹配到异常的(
  • 能够获取mysql数据类型,但是是会带varchar(255)的长度类型信息
  • 索引信息和列信息不在一个结构里面

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刷脸登录(人工智能)

刷脸登录 理解刷脸登录的需求 理解刷脸登录的开发流程实现刷脸登录功能 浅谈人工智能 人工智能的概述 人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门…

无人机航测技术有何特点?主要应用在哪些方面?

无人机航测是航空摄影测量的一种&#xff0c;主要面向低空遥感领域&#xff0c;具有成本低、快速高效、适用范围广等特点。目前&#xff0c;无人机航测主要应用于地形测绘、城市数字化建设、工程建设等方面。 无人机航测技术的特点 1、作业成本低 传统的人工测量技术主要利用…

python中*与**的使用

文章目录 前言一、*与**在函数定义时二、*与**在函数调用时 前言 在python中*与**的使用要区分是在函数定义时还是在函数调用时。 一、*与**在函数定义时 def deng(*args,**kwargs):print(args)print(kwargs)deng(1,2,3,a 4,b 5)在函数定义时参数前面使用*&#xff0c;代表…

Android 14重要更新预览

Android 14重要更新预览 国际化 Android 14 在 Android 13 的基础上进一步扩展了按应用设定语言功能&#xff0c;提供了一些额外的功能&#xff1a; 自动生成应用的 localeConfig&#xff1a;从 Android Studio Giraffe Canary 7 和 AGP 8.1.0-alpha07 开始&#xff0c;您可以…

三个主流数据库(Oracle、MySQL和SQL Server)的“单表造数

oracle 1.创建表 CREATE TABLE "YZH2_ORACLE" ("VARCHAR2_COLUMN" VARCHAR2(20) NOT NULL ENABLE,"NUMBER_COLUMN" NUMBER,"DATE_COLUMN" DATE,"CLOB_COLUMN" CLOB,"BLOB_COLUMN" BLOB,"BINARY_DOUBLE_COLU…

机器学习深度学习——卷积神经网络(LeNet)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——池化层 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助 卷积神…

02 持久层 - 客制化

文章目录 OverView[0] Provision[1] New Package[2] Create Table[3] Insert MockData[4] Check Data OverView 创建 ABAP Package客制化底表向底表写入测试数据查看测试数据 [0] Provision 没有创建 BTP Trail User Account 的需先申请账号&#xff0c;并通过 Eclipse 连接到…

Java 枚举类型enum的常用方法

在Java中&#xff0c;枚举类型&#xff08;enum&#xff09;提供了一些常用的方法&#xff0c;用于操作枚举常量。下面是枚举类型常用的方法&#xff1a; values()&#xff1a;该方法返回枚举类型的所有枚举常量数组。 enum Weekday {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, …

Linux命令(59)之screen

linux命令之screen 1.screen介绍 linux命令screen是用来进行多窗口管理。 默认screen命令没有安装&#xff0c;安装命令(基于yum源)&#xff1a;yum install -y screen 2.screen用法 screen [参数] screen参数 参数说明-r恢复离线的screen作业-ls显示所有的screen作业 3.…

跨境多商户中日韩英多语言商城搭建(PC+小程序+H5),搭建方案

随着全球化的推进&#xff0c;跨境电商正变得越来越普遍。在本文中&#xff0c;我们将介绍跨境电商系统开发中多语言商城独立站的部署搭建方案。 准备工作 在开始部署搭建之前&#xff0c;需要准备以下环境&#xff1a; 服务器&#xff0c;确保服务器具备足够的性能和稳定性。 …

睿讯微带你深度了解汽车交流充电桩

这几年随着新能源汽车的普及&#xff0c;充电桩也越来越多的出现在我们的视野中。新能源纯电汽车就好比一种大号的电子产品&#xff0c;而充电桩则是它不可缺少的子系统&#xff0c;是新能源车主们的必要选择。 汽车充电桩分为直流和交流两种&#xff0c;2022年底全国公共充电桩…

【Apollo学习笔记】—— 相机仿真

文章目录 前言相关代码整理 测试实践文件目录包管理BUILD文件以及cyberfile.xml文件源程序BUILD运行结果其他参考CameraOutput channels启动camera驱动启动camera video compression驱动 前言 本文是对Cyber RT的学习记录,文章可能存在不严谨、不完善、有缺漏的部分&#xff0…