首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

再谈SQL-to-SQL翻译器

在前一篇文章中《浅析构建SQL-to-SQL翻译器》,我简单的阐述整体的思想。很高兴借此认识了一些新的小伙伴,并且进行了深入的探讨。...常规 显而易见的,我们有几条路可以选, 解析阶段转换 即在源SQL输入进行语法解析的时候,同时构建目标SQL的AST。 遍历阶段转换 即在遍历源AST的时候,构建目标SQL的AST。...NL2SQL(Natural Language to SQL), 顾名思义,是将自然语言转为SQL语句。它可以充当数据库的智能接口,让不熟悉数据库的用户能够快速地找到自己想要的数据。...既然NLP能做到自然语言翻译成SQL,为什么不能在 SQL-to-SQL 的翻译上做一些工作呢?...这方面,我们需要做的探索,目前我理解如下: SQL的分词和词性划分,与自然语句分词不同 SQL的语法与自然语言不同。

1.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

浅析构建SQL-to-SQL翻译器

如果你爱一个人,就让他写SQL,因为那是天堂。 如果你恨一个人,就让他写SQL,因为那是地狱。 天堂,是因为他如此简单,又功能强大,可以极大简化你的程序。...那我们就不能构建一个统一的数据库语言么?这个真不能,不是技术上不能,而是利益趋势,大家坚守自己的方言堡垒,而且越建越高。...那我们是不是能从SQL语言翻译的角度来解决这个问题呢?即在将SQL抛给数据库执行之前,进行一次翻译工作? 我们可以对SQL进行语法分析,形成一颗AST(抽象语法树),然后遍历解析 ?...我们在遍历语法树的时候,就进行一次翻译转换,形成其他方言的SQL。 ? 这个方案也许不尽善尽美,但是至少解决了一个类似“同声传译”的问题。...个人是十分推崇Calcite的,因为其本身更像是一个没有物理引擎的数据库引擎,这可能听起来有点滑稽,但是确实,他可以很好的解析SQL,并生成执行计划,如果你想,也可以针对其进行你希望的优化,这就让我们的控制力大大加强了

1.1K20

SQL语言初识

一、SQL 语 言 定 义 SQL(Structured Query Language)是一种功能强大的数据库语言,通常用于数据库的通信,是关系型数据库系统的标准语言。...二、SQL 语 言 特 点 SQL语言集数据定义、数据查询、数据操作和数据控制功能于一体,充分体现了关系数据语言的特点,了解即可。 1、综合统一。2、高度非过程化。3、面向集合的操作方式。...5、语言简洁,易学易用。6、对数据统计方便、直观。 三、SQL 语 言 分 类 SQL语言可以实现丰富的数据库操作,概括起来主要分为三组。...四、Access 中 的 SQL 语 言 1、查询的SQL视图 在Access数据库中,查询操作都是通过SQL语言实现的,主要是数据操作语言DML中的Select语句及其子语句。...今天下雨 本节主要是初步了解SQL语言SQL语言的分类,以及它在Access中的使用。祝大家学习快乐。 ---- ?

1.6K20

SQL语言元素(一)

SQL语言元素(一) 命令和关键字 InterSystems SQL命令(也称为SQL语句)以关键字开头,后跟一个或多个参数。其中一些参数可能是子句或函数,由它们自己的关键字标识。...InterSystems SQL命令没有命令终止符,除非在特殊情况下(例如SQL过程代码或触发代码),在这种情况下,SQL命令以单个分号(;)终止。...TSQL的InterSystemsIRIS®数据平台实现(Transact-SQL)接受但不需要分号命令终止符。在将SQL代码导入Inter Systems SQL时,会去除分号命令终止符。...注意:在嵌入式SQL中,不允许在字符串文字中使用以##开头的一些字符序列,如“使用嵌入式SQL”一章的“文字值”中所述。此限制不适用于其他SQL调用,例如动态SQL。...注意:不建议使用SQL零长度字符串作为字段输入值或字段默认值。 使用NULL表示数据值的缺失。 在SQL编码中应避免使用SQL零长度字符串。

1.4K10

如何学习 SQL 语言

为了帮助刚毕业找工作,或者想转行成为数据分析师工作的朋友,我会用下面内容教会你怎样用最快速、最容易理解的方式学会数据库和SQL,并使用SQL进行数据分析: 1.入门 2.简单查询 3.汇总分析 4.复杂查询...3)注释和 SQL 语句注意事项 4)学会运算符指定复杂的查询条件 5)字符串模糊查询 从零学会SQL:简单查询​www.zhihu.com 第3部分:汇总分析 学习以下内容: 1)如何进行汇总分析...4)用 SQL 解决业务问题的套路是什么? 5)如何对查询结果排序? 6)如何看懂 SQL 报错信息?...:sql经典面试50题 第7部分:检验SQL的学习效果 如何验证上面SQL的学习效果呢?...也有人推荐《sql必知必会》,但是对于零基础的朋友来说Mick的《sql基础教程》更容易看懂学会,非常适合入门者学习。如果只推荐一本书的话,我只推荐这本。

72600

SQL语言元素(二)

SQL语言元素(二)算术运算符和函数InterSystems SQL支持以下算术运算符:+ 加法操作符。 例如,17+7 = 24。– 减法运算符。 例如,17-7等于10。...在动态SQL中,可以使用SQL列元数据来确定结果集字段的数据类型。运算符优先级SQL-92标准在操作符优先级方面不精确; 关于这个问题的假设在不同的SQL实现中有所不同。...注意:使用嵌入式SQL标记语法(&sql(...)) 对SQL注释的内容强加了限制。...这是通过设置$SYSTEM.SQL.SetRetainSQL()方法完成的。若要确定当前设置,请调用$ SYSTEM.SQL.CurrentSettings(),它将显示“将SQL保留为注释”设置。...将此选项设置为“是”以将SQL语句保留为例程的.INT代码版本中的注释。将此选项设置为“是”还会在注释文本中列出SQL语句使用的所有非%变量。

81040

(三)SQL语言基础

目录 SQL 分类 SQL语言的规则与规范 注 释 ---- SQL 分类         DDL(数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构...DML(数据操作语言),用于添加、删除、更新和查询数据库记录,并检查数据完整性。 主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。...SELECT是SQL语言的基础,最为重要。         DCL(数据控制语言),用于定义数据库、表、字段、用户的访问权限和安全级别。...SQL语言的规则与规范 SQL 可以写在一行或者多行。...为了提高可读性,各子句分行写,必要时使用缩进 字符串型和日期时间类型的数据可以使用单引号(' ')表示 列的别名,尽量使用双引号(" "),而且不建议省略as 注 释 单行注释:#注释文字(脚本语言

18630

如何学习 SQL 语言

为了帮助刚毕业找工作,或者想转行成为数据分析师工作的朋友,我会用下面内容教会你怎样用最快速、最容易理解的方式学会数据库和SQL,并使用SQL进行数据分析: 1.入门 2.简单查询 3.汇总分析 4.复杂查询...3)注释和 SQL 语句注意事项 4)学会运算符指定复杂的查询条件 5)字符串模糊查询 从零学会SQL:简单查询​www.zhihu.com 第3部分:汇总分析 学习以下内容: 1)如何进行汇总分析...4)用 SQL 解决业务问题的套路是什么? 5)如何对查询结果排序? 6)如何看懂 SQL 报错信息?...:sql经典面试50题 第7部分:检验SQL的学习效果 如何验证上面SQL的学习效果呢?...也有人推荐《sql必知必会》,但是对于零基础的朋友来说Mick的《sql基础教程》更容易看懂学会,非常适合入门者学习。如果只推荐一本书的话,我只推荐这本。

63700

SQL语言学习-数据定义语言

Sql语言至今已经有6个版本。SQL查询语言包括了所有对数据的操作命令,这些操作可分为四类:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)和嵌入式SQL语言。...数据定义语言(Data Defination Language)用于定义数据库对象。基本的DDL命令包括:Create、alter、drop。...嵌入式SQL语言规定了SQL语言在宿主程序中的使用规则。 1.建立数据表 Create负责数据库对象的建立。数据库、数据表、数据库索引、存储过程、触发器等都可以通过Create创建。...age integer  删除一列:alter table test drop column age 更改列明: oracle中:alter table test rename age to ages. sql...[age]','ages','column' 更改数据类型:SQl中:alter table test alter column ages varchar(20),oracle中:alter table

73960

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券