phpMyAdmin 的程序主要使用 php 和 javascript 开发,它的安装使用都比较简单而且已有很多相关介绍不再重复,今天要介绍的是源码中的一个核心组件 sql-parser 。...sql-parser 简介 sql-parser组件的主要用途是对SQL语句进行词法分析、语法分析,继而可以实现对SQL语句的解构、加工、替换、再组装等需求,另外也可以对SQL进行highlight等处理...sql-parser由纯PHP语言实现,同时也是整个phpMyAdmin源码中为数不多的代码架构比较清晰且符合当前PHP界PSR标准规范的模块。.../sql-parser/vendor/autoload.php'; use SqlParser\Parser; $query = 'START TRANSACTION;' ....`tb3` CHANGE `field_1` `field_2` INT( 10 ) UNSIGNED NOT NULL" 以上是sql-parser组件一些基本的用法示例,phpMyAdmin的sql-parser
SQL 编辑器封装 我们拥有了内置 “智能提示” 功能的语法解析器,定制了一套自定义的 SQL 词法、文法描述,便完成了 sql-lexer 与 sql-parser 这一层。...4 总结 整个智能提示的封装链条如下: syntax-parser -> sql-parser -> monaco-editor-plugin 对应关系是: 语法解析器生成器 -> SQL 语法解析器...,我重写一个 sql-parser' 以及 monaco-editor-plugin'。...从 sql-parser 开始使用 也许你需要的仅仅是一颗 SQL 语法树?或者你的输出目标不是 SQL 编辑器而是一个 UI 界面?那可以试试直接使用 sql-parser。...sql-parser 不仅可以生成语法树,还能找到当前光标位置所在语法树的节点,找到 SQL 某个语法返回的所有字段列表等功能,基于它,甚至可以做 UI 与 SQL 文本互转的应用。
新插件使用 SQL Lexer(词法分析器)重写,现在的版本已经比较稳定,并且能够正确处理所有 WordPress SQL 查询,特别值得提一下的是,SQL Lexer 是 PHPMyAdmin/SQL-Parser
最近 会发布最新架构的hmily-2.1.0版本(只会支持TCC模式) 配置模块 配置动态刷新功能,支持所有的配置中心 TAC模式: SQL-parser: 正在接入apache-shardingsphere
详见demo 地址:https://github.com/naget/sharding 参考资料 https://github.com/alibaba/druid/wiki/SQL-Parser https
Vitess has its own in-built SQL-parser which it uses to understand the query and represent as structs
SQL-92、SQL-99等都是标准SQL,mysql/oracle/pg/sqlserver/odps等都是方言,sql-parser需要针对不同的方言进行特别处理。
领取专属 10元无门槛券
手把手带您无忧上云