`
pan_java
  • 浏览: 286548 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

sql 解析 工具(sql parse)

    博客分类:
  • java
阅读更多
项目地址:  http://jsqlparser.sourceforge.net

可以获取SQL语法的各个部分,组装SQL。但不支持hive语法.
具体的使用方法可以参考网站example,还有它的测试用例。
分享到:
评论
23 楼 yechw 2010-12-29  
不支持oracle里的ROW_NUMBER()函数。
22 楼 sam_kee 2010-12-02  
LZ,什么意思呢?怎么看不懂?
21 楼 jiny_tianxia 2010-12-01  
,pl/Sql Developer这个工具也很好用的
20 楼 userya 2010-11-30  
中文貌似有点问题.

insert into log_table_test(LOG_TABLE_TEST_ID,g2,C_NUMBER)values('a','中文',2)


Caused by: net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 70.  Encountered: "\u4e2d" (20013), after : "\'"
	at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:1326)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_scan_token(CCJSqlParser.java:5290)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_88(CCJSqlParser.java:4454)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_52(CCJSqlParser.java:4499)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_86(CCJSqlParser.java:4721)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_51(CCJSqlParser.java:4739)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_48(CCJSqlParser.java:4804)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_20(CCJSqlParser.java:4799)
	at net.sf.jsqlparser.parser.CCJSqlParser.jj_2_20(CCJSqlParser.java:3188)
	at net.sf.jsqlparser.parser.CCJSqlParser.SimpleExpression(CCJSqlParser.java:2035)
	at net.sf.jsqlparser.parser.CCJSqlParser.Insert(CCJSqlParser.java:372)
	at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:116)
	at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38)
	... 11 more


set UNICODE_INPUT to true ?



javacc -UNICODE_INPUT:false -JAVA_UNICODE_ESCAPE:true -JDK_VERSION:1.4 JSqlParserCC.jj
19 楼 cn-done 2010-11-27  
<div class="quote_title">depravedangel 写道</div>
<div class="quote_div">我的工具箱中也有这样一个小工具,它是用来做自己实现的一套ORM框架的辅助工具</div>
<p><br>麻烦共享你的工具箱<img src="/images/smiles/icon_wink.gif" alt=""></p>
<p> </p>
18 楼 kjj 2010-11-26  
这种东西用现成的语法解析工具做都可以,比如antlr,javacc等,主要是考察对sql语法和语言文法的掌握程度!!
17 楼 longwenbin2008 2010-11-26  
不错的东东,现在的项目正派上用场,先研究,谢谢
16 楼 pker02 2010-11-26  
没有例子,还是不会用啊。
15 楼 pan_java 2010-11-26  
pker02 写道
编译的时候报错了
D:\work\jsqlparser\jsqlparser\build.xml:53: JavaCC home must be a valid directory.

不知道是什么意思,还望赐教

直接用里面的JAR包
14 楼 pker02 2010-11-26  
编译的时候报错了
D:\work\jsqlparser\jsqlparser\build.xml:53: JavaCC home must be a valid directory.

不知道是什么意思,还望赐教
13 楼 SeanHe 2010-11-26  
在实现shardbatis http://www.iteye.com/topic/752243的时候我也是用它的,总体来说还不错,在我使用的过程中遇到一些小bug,性能方面也有可以提升的地方。可能它的代码写的比较早字符串拼接的代码可以再做优化
12 楼 depravedangel 2010-11-26  
我的工具箱中也有这样一个小工具,它是用来做自己实现的一套ORM框架的辅助工具
11 楼 pan_java 2010-11-26  
houzidexinsheng 写道
不知道能否分析SQL的各个部分:select\from\where\group by\order by\union,我就要这几个部分的内容?

完全没有问题
10 楼 houzidexinsheng 2010-11-26  
不知道能否分析SQL的各个部分:select\from\where\group by\order by\union,我就要这几个部分的内容?
9 楼 pker02 2010-11-26  
其实正好现在有一个需要验证SQL的要求,不过最好是JS的,可惜找了好久都没有找到,这个正好能用上,只是还不知道咋弄,先研究一下。
多谢了
8 楼 jackerxff 2010-11-26  
应该是用来将系统由关系数据库转移到非关系型数据库,将业务的SQL转化为其他操作
7 楼 pan_java 2010-11-26  
chenhua_1984 写道
这玩意是用来解析SQL的,比如在SQL执行前或执行后,你可以利用这个东西快速的分析出执行这个SQL是否合法,我们正由这个需求,只可惜它只是0.6版本,性能等各方面都还不知道!

提取SQL的各不同的部分,动态组装SQL,验证SQL。。。
6 楼 chenhua_1984 2010-11-26  
这玩意是用来解析SQL的,比如在SQL执行前或执行后,你可以利用这个东西快速的分析出执行这个SQL是否合法,我们正由这个需求,只可惜它只是0.6版本,性能等各方面都还不知道!
5 楼 CshBBrain 2010-11-26  
大概是想做数据库逆向工程的工具吧,瞎猜下
4 楼 cremains 2010-11-26  
请问这个有什么用呢?

相关推荐

    java的sql解析器jsqlparser

    Java的SQL解析器JSQLPaser是一个强大的开源库,专门设计用于处理SQL语句的解析工作。这个库允许开发者分析SQL语句的结构,提取出其中的关键元素,如列名、表名、别名以及查询条件,从而在Java应用程序中实现对SQL的...

    基于SQL 语法解释器JSqlParser实现的SQL解析工具

    总之,JSqlParser作为一个强大的SQL解析工具,通过提供对SQL语句的结构化解析,极大地简化了开发者处理SQL相关任务的复杂度。通过学习和应用JSqlParser,我们可以更好地理解和控制SQL查询,提高代码的健壮性和安全性...

    Apache的java解析sql工具包

    总之,Apache的Java解析SQL工具包JSqlParser是一个强大且灵活的库,它为Java开发者提供了解析和操作SQL的强大能力,适用于各种数据库应用场景。无论是SQL验证、动态SQL生成还是复杂的SQL重构,JSqlParser都能提供...

    通用SQL语句解析类SqlParser(JAVA版)

    项目中已使用的一个比较简单的SQL语句查询字段解析工具类

    sql_parse_src.rar_C语言 sql解析_sql parse _sql_parse_sqlparse c++_s

    标题中的"sql_parse_src.rar"表明这是一个关于SQL解析的源代码包,主要使用C++语言实现,其中可能包含了对SQL语句的解析功能。描述提到这是"一套解析SQL语句的c代码,基于ansi c++",这暗示了库遵循ANSI C++标准,...

    Sql Server Json解析

    sql server 2014 JSON解析到表函数 CREATE FUNCTION [dbo].[parseJSON]( @JSON NVARCHAR(MAX)) RETURNS @hierarchy TABLE ( element_id INT IDENTITY(1, 1) NOT NULL, ...

    sql解析强大工具

    SQL解析是数据库操作的核心部分,它涉及到将人类可读的SQL语句转化为计算机可以理解的命令。`sqlparse`是一个强大的Python库,专门用于解析SQL语句,它为开发者提供了便利,使他们能够轻松地处理SQL相关的任务。在...

    Sql Server解析Json

    本文将深入探讨 SQL Server 如何解析 JSON 数据,并详细介绍一种自定义函数 `dbo.parseJSON` 的实现细节。 #### 一、SQL Server 中的 JSON 支持概述 SQL Server 2016 及以后版本提供了内置的支持来处理 JSON 数据...

    js-sql-parse:基于NearleySQL解析器和分析器

    JS SQL解析地位当前正在进行中:最终目标是能够解析和分析常规sql查询。依存关系JS SQL Parse使用解析字符串。 语法在定义测验使用npm run test用./tests中的测试文件是查看使用示例的最佳位置。 一个基本的例子是:...

    java的sql解析器jsqlparser.zip

    《深入理解Java SQL解析器:JSQLParser》 在Java编程领域,处理SQL语句时,我们常常需要对SQL进行解析,以便理解其结构、验证语法或者转换为其他形式。JSQLParser就是一个强大的开源库,专门用于解析和操作SQL语句...

    c++解析sql,存储过程

    本项目涉及的是利用C++解析SQL语句,特别是Oracle的PL/SQL存储过程,来获取元数据信息,例如表与表之间的关联以及字段之间的关系。下面将详细介绍这个主题的各个方面。 首先,让我们来理解什么是SQL。SQL(结构化...

    sql解析-python版

    通过继承`sqlparse.sql.ParserElement`并重写`parse`方法,可以创建自定义的SQL解析规则,以适应特定的应用场景。 总的来说,`sqlparse`库为Python开发者提供了一种强大的工具,用于解析和操作SQL语句。结合Python...

    sqlparser-rs:用于Rust的可扩展SQL Lexer和解析器

    1. 解析SQL:通过`parse_sql`函数,可以将一个SQL字符串解析为AST。这个过程包括词法分析和语法分析,返回的结果是一个`SqlStatement`枚举,包含了各种可能的SQL语句类型。 2. AST遍历:解析得到的AST可以通过提供...

    基于Java的实例源码-SQL解析类库 SQLJEP.zip

    然后,你可以使用`parse()`方法解析SQL语句,并得到一个`Expression`对象。这个对象可以被进一步分析、修改或执行。 2. **SQL解析过程**:在解析过程中,SQLJEP会将SQL语句分解成一个个元素,如选择列、表名、条件...

    JSQL.rar_fortycqi_jSQL_jSQL下载_sql解析器_toucha9a

    JSQL,全称为Java SQL解析器,正是这样一个工具,它由用户fortycqi开发并提供下载,旨在简化Java环境下的SQL处理。 JSQL的核心特性在于其简洁性和易用性。作为一个简单的JSQL解析器,它主要支持基础的SELECT查询...

    js-sql-parser:用jison编写SQL(select)解析器。 将SQL解析为抽象语法树(AST),然后字符串化回SQL。 sql语法遵循https:dev.mysql.comdocrefman5.7enselect.html

    js-sql-parser 在js中解析/字符串化sql(选择语法)。 sql语法遵循新闻自v1.3.0 起修复bug tableFactor别名从v1.2.2开始,增加了对“`”引号别名的支持 BUG修复字符串化的关键字having自V1.2.1。 自v1.2.0起,错字...

    sqlparser:Go中实现SQL解析器

    在vitessio / vitess内部,有一个写得很好的sql解析器。 但是,由于它不是一个独立的应用程序,所以我创建了这个应用程序。 它适用于与vitessio / vitess相同的许可。用法import ( "github.com/xwb1989/sqlparser")...

    flora-sql-parser:将SQL(选择)语句解析为抽象语法树(AST),并将AST转换回SQL

    Flora SQL解析器 将简单SQL语句解析为抽象语法树(AST),然后将其转换回SQL。用法为SQL语句创建AST const { Parser } = require ( 'flora-sql-parser' ) ;const parser = new Parser ( ) ;const ast = parser . ...

    SQLParser:用于C#SQL ParserLexer

    SQLParser 是一个专门为C#语言设计的SQL解析器和词法分析器,它为开发者提供了处理和解析SQL语句的强大工具。SQL(Structured Query Language)是数据库管理与数据操作的标准语言,广泛应用于各种数据库系统,如...

    sqlparser:从TiDB(PingCap)到golang中的SqlParser工具,您可以独立使用此模块

    目前,功能最强大MySQL SQL解析器在golang中实现。 该解析器是PingCap的TiDB的一部分 您可以独立使用此模块 使用以下方法安装软件包: go get github.com/ruiaylin/sqlparser 在使用之前制作模块: cd $GOPATH/...

Global site tag (gtag.js) - Google Analytics