SQL的语法树解析

SQL语法树解析是将SQL查询语句转换成抽象语法树- AST的过程,是数据库引擎处理查询的第一步,也是防止SQL注入的重要手段。

第一阶段

语法分析:拆解SQL语句,识别关键字、表名、列名

[select] [id]

第二阶段

语法分析:检查SQL是否符合语法规则,并构建抽象语法树

大概就是构建语法树。

第三阶段

语义分析:检查表、列是否存在,进行权限验证。

比如说执行:
SELECT id, name FROM users WHERE age > 'eighteen';
会报错:
ERROR: Column 'age' is INT, but 'eighteen' is STRING.

posted @ 2025-05-20 16:25  kuki'  阅读(60)  评论(0)    收藏  举报