一、什么是SQL
sql(Structured Query Language: 结构化查询语言)是高级的费过程化编程语言,允许用户在高层数据结构上工作, 是一种数据查询和程序设计语言, 也是(ANSI)的一项标准的计算机语言. but… 目前仍然存在着许多不同版本的sql语言,为了与ANSI标准相兼容, 它们必须以相似的方式共同地来支持一些主要的命令(比如SELECT、UPDATE、DELETE、INSERT、WHERE等等).
在标准SQL中, SQL语句包含四种类型
DML(Data Manipulation Language):数据操作语言,用来定义数据库记录(数据)。
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别。
DQL(Data Query Language):数据查询语言,用来查询记录(数据)。
DDL(Data Definition Language):数据定义语言,用来定义数据库对象(库,表,列等)
二、如何执行SQL
2.1 mysql
以mysql为例, sql执行流程大致分为以下节点(mysql server层代码, 不包含引擎层事务/log等操作):

mysqlLex: mysql自身的词法分析程序, C++语言开发, 基于输入的语句进行分词, 并解析除每个分词的意义. 分词的本质便是正则表达式的匹配过程. 源码在sql/sql_lex.cc
Bision: 根据mysql定义的语法规则,进行语法解析,语法解析就

本文详细介绍了SQL的基础概念,包括其类型(DML、DCL、DQL、DDL),并以MySQL、HiveSQL和FlinkSQL为例,探讨了SQL的执行流程,特别强调了语法解析、优化规则以及不同SQL解析引擎的特点。作者强调了理解SQL执行原理和优化的重要性。
最低0.47元/天 解锁文章
2259

被折叠的 条评论
为什么被折叠?



