博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第01课:SQL 语句的历程
阅读量:4075 次
发布时间:2019-05-25

本文共 695 字,大约阅读时间需要 2 分钟。

通常,数据库就如同一个黑匣子,我们输入 SQL 语句给它,它负责反馈执行结果给我们。尤其是 SQL 又是一种入门极简单的语言,使用者只要能看懂英语就能熟练写出增删改查的简单语句,对于刚入门的用户来说肯定感觉是极好的。

在数据量比较少时,用户对数据库操作得比较随意,数据库也不会提出反对意见。但是随着数据量的增加,若是再胡乱地拼凑几个查询,并期望数据库给出一个完美的结果,那只能一首《凉凉》送给你——数据库罢工了。这时用户会查阅手册或者咨询一些资深的 DBA,期望得到一个“合理的解释”,但往往针对特定问题只能得到特定解决方案,下次遇到其他状况仍旧无从下手。

所谓求人不如求己,若用户对一个 SQL 语句进入数据库究竟经历了怎样的历程了如指掌,则可以在书写 SQL 的时候就避免 freestyle,即使遇到问题也能胸有成竹地解决。既然前景如此美好,让我们就从最简单的一个 SQL 语句开始看看,一个 SQL 语句在进入数据库之后,到底经历了什么。

语法分析

要查询一个表中的一部分数据,用最简单的 SELECT 查询就可以了:

SELECT * FROM TEST_A;

这是一个单表查询语句,SELECT 告诉我们这是一个查询操作,FROM TEST_A 告诉我们 TEST_A 是要查询的表,而“*”则表示要输出的内容是 TEST_A 表的所有列的内容。

当用户将语句输入客户端工具(比如 psql)之后,客户端工具会将这个语句发送给数据库服务器,这时候 SQL 语句就进入了黑匣子里面,那么黑匣子如何处理它呢?

首先,黑匣子会通过 Lex 工具对 SQL 语句进行词法分析并产生 to

转载地址:http://noyni.baihongyu.com/

你可能感兴趣的文章
Java大数据:Hbase分布式存储入门
查看>>
大数据学习:Spark RDD操作入门
查看>>
大数据框架:Spark 生态实时流计算
查看>>
大数据入门:Hive和Hbase区别对比
查看>>
大数据入门:ZooKeeper工作原理
查看>>
大数据入门:Zookeeper结构体系
查看>>
大数据入门:Spark RDD基础概念
查看>>
大数据入门:SparkCore开发调优原则
查看>>
大数据入门:Java和Scala编程对比
查看>>
大数据入门:Scala函数式编程
查看>>
【数据结构周周练】002顺序表与链表
查看>>
C++报错:C4700:使用了非初始化的局部变量
查看>>
【数据结构周周练】003顺序栈与链栈
查看>>
C++类、结构体、函数、变量等命名规则详解
查看>>
C++ goto语句详解
查看>>
【数据结构周周练】008 二叉树的链式创建及测试
查看>>
《软件体系结构》 第九章 软件体系结构评估
查看>>
《软件体系结构》 第十章 软件产品线体系结构
查看>>
《软件过程管理》 第六章 软件过程的项目管理
查看>>
《软件过程管理》 第九章 软件过程的评估和改进
查看>>