{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

为什么数据库使用SQL语言?

zeyuzeyu 回答0 收藏1
问题描述:明明很多编程语言从对象数组中取数据比用SQL从表中取数据方便。
收藏问题

8条回答

zhonghanwen

zhonghanwen

回答于2022-06-28 13:41

一直以来,数据的持久化都是依赖于文件存储,包括windows的excel,word,txt等,数据库也是使用的文件,比如oracle的.DBF;Access的.mdb都是使用的文件

既然是文件,我们知道计算机只识别0,1两个机器码,其实文件就都是一系列的二进制编码,不同的文件使用不同的方式打开,比如在windows上强制使用文本方式打开dbf文件会显示一堆乱码,因为很多东西它不识别

SQL就是用来对数据库文件进行增删改查的语言,数据库诞生伊始,就是为了解决结构化的数据存储,相对应的就需要一门结构化的语言来操作它。

SQL,英文为Structured Query Language,翻译为结构化查询语言,可以方便的访问和处理数据库,是ANSI标准的一门计算机语言,既然只是一门语言,那就不是不可以取代的,只要使用同样的操作标准,比如使用JAVA完全可以读出文件中的内容,进行显示和修改,但是这种重复造轮子的事情应该没人会做,首先需要掌握数据库存储标准,然后操作数据库,有着极强的复杂性不说,性能估计也比SQL差,毕竟SQL本就是伴随着数据库的发展诞生的一门操作语言!

SQL提供了create;drop;alter;insert;select;update;delete等标准指令用于操作数据库,实现结构化数据模型创建,结构化数据存储和查询的功能!

回到问题的描述,为什么不用对象数组取代数据库?首先你要想清楚,这些对象数组需不需要持久化?需要持久化必然是要放在硬盘的文件中的,需不需要有关系?不管是关系型数据库,可以针对关系型数据进行方便的存储!

如果你的对象数组只在内存里面用,数据库自然是不需要的,如果你是要持久化,而且是关系型数据持久化,那么只能是数据库了!

综上,你完全可以使用其他语言(JAVA,C等)实现数据库文件的增删改,但是为了方便,性能,还是老老实实使用SQL吧,更多的技术分享,敬请关注。。。

评论0 赞同0
  •  加载中...
SimonMa

SimonMa

回答于2022-06-28 13:41

其实不同的数据库往往都会有一些针对性的操作,但是大部分数据库都会在遵循基本的SQL语言基础之上进行一些功能性的扩展,或者是一些优化操作。因为数据库的功能大部分是统一的,所以数据库领域的标准化相对会更容易一些,这也是为什么SQL语言会成为数据库领域的标准之一。标准化的SQL语言不仅会降低学习成本,而且会促进数据库行业的良性发展,所以标准化程度越高的领域,成熟度往往也越高,市场规模通常也就比较大。

SQL语言主要面向数据库的基本操作,对于大部分程序员来说,掌握标准的SQL语言基本上就能够完成大部分的软件开发任务,而且采用标准的SQL语言能够让代码有更好的复用性,这对整个软件开发领域来说也是比较重要的。虽然目前不少开发环境下都可以采用数据库映射框架来完成数据库操作(MyBatis等),但是掌握基本的SQL语言依然是程序员的重要技能之一。

SQL语言的统一对于数据库维护人员来说也是非常重要的,由于数据库在整个信息化领域占据着重要的位置,所以往往数据库维护的工作量也是非常大的,往往同一家公司内部就会有多家数据库公司的不同产品(异质异构),而统一的SQL语言能够极大的减轻数据库维护人员的工作量。

在大数据时代,虽然市场上出现了大量的NoSQL数据库,但是SQL语言依然起着比较重要的作用,因为对于结构化数据和半结构化数据来说,SQL是完成数据清洗和提取的重要方式。另外,市场上也出现了通过SQL语言来完成大数据运算的产品,比如Hive。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我,谢谢!

评论0 赞同0
  •  加载中...
Terry_Tai

Terry_Tai

回答于2022-06-28 13:41

首先,SQL不是数据库语言,反正我没听说过。

当前主流的数据库编程语言只有PL/SQL,也是目前在企业级软件里面应用最多的,PL/SQL最核心应该是存储过程、函数、游标、触发器、AQ队列,有些复杂的数据库操作时SQL语句无法完成的,这个时候只能用oracle提供的PL/SQL,想要深入了解PL/SQL可以去看看这本书,学了PL/SQL会让你的技术质变,相关连的项目做起来也会非常轻松



评论0 赞同0
  •  加载中...
huaixiaoz

huaixiaoz

回答于2022-06-28 13:41

数据库语言也有很多...只是你只知道SQL...整理一下重新问吧

评论0 赞同0
  •  加载中...
jsyzchen

jsyzchen

回答于2022-06-28 13:41

SQL是唯一一个被标准化了编成语言。这意味着只要是关系形数据库就一定要支持SQL。所以Oracle,IBM DB2,微软SQL SERVER等数据库产品都支持标准的SQL。但事实上各家的SQL还是有些差别的。

另外,SQL由于只描述查询逻辑,被称为第四代编程语言(另一种说法是第五代),以区别于其他以程序步骤为中心的所谓,第三代语言(另一种说法,C是第三代,Java等是第四代)。从某种意义上,SQL是最接近自然语言的编程语言。开发用纯粹自然语言为基础的编程语言一直都是一个研究课题。

评论0 赞同0
  •  加载中...
Tangpj

Tangpj

回答于2022-06-28 13:41

不是只有一種喔,

以前的我需要各種 join 打交道inner, outer, left, right, on,where...並且燒腦各種 inter-table 關係,還沾沾自喜用的順溜,以為這世界就只有如此。

現在的我卻離不開 ORM 了。 SQL其實是不符合人性的,感謝泛noSQL的發明。

评论0 赞同0
  •  加载中...
Near_Li

Near_Li

回答于2022-06-28 13:41

SQL(Structured Query Language)结构化查询语言,是用于访问数据库的标准语言,各种不同的数据库对SQL语言的支持与标准存在着细微的不同。

注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的私有扩展!

各个数据库厂商通常会在标准的SQL语言上进行扩展,T-SQL就是微软扩展的一个版本,其他还有Oracle的PL/SQL等。

标准的SQL主要完成基本的数据库对象定义、操作和控制等功能,而T-SQL以及PL/SQL还增加了流程控制元素和各种函数功能。有了这些功能,可以完成一些程序对象的编写,例如存储过程、触发器等。

评论0 赞同0
  •  加载中...
godiscoder

godiscoder

回答于2022-06-28 13:41

不不,我觉得你这是没理解到位。SQL中文是叫结构化查询语言,就像php和Java都可以叫后端语言一样,是一种抽象的叫法。事实上也是每种数据库的查询语言和其他数据库查询语言是存在差别的。

评论0 赞同0
  •  加载中...

相关问题

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<