SQL,PL-SQL和T-SQL有什么区别?

SQL,PL-SQL和T-SQL有什么区别?

任何人都可以解释这三者之间的区别是什么,并提供每个相关的使用场景?

  • SQL是一组查询语言。

    它或多或less是标准化的,几乎所有的关系数据库pipe理系统都使用它们:SQL Server,Oracle,MySQL,PostgreSQL,DB2,Informix等

  • PL/SQL是Oracle使用的专有过程语言

  • PL/pgSQL是PostgreSQL使用的过程语言

  • TSQL是Microsoft在SQL Server中使用的专有过程语言。

程序语言被devise为扩展SQL的能力,同时能够很好地与SQL集成。 添加了几个function,如局部variables和string/数据处理。 这些function使语言图灵完整。

它们也用于编写存储过程:驻留在服务器上的代码片段,用于pipe理复杂的业务规则,这些规则很难或不可能通过纯集合操作进行pipe理。

SQL

SQL用于与数据库进行通信,它是关系数据库pipe理系统的标准语言。

详细结构化查询语言是一种专用的编程语言,用于pipe理关系数据库pipe理系统(RDBMS)中保存的数据或关系数据streampipe理系统(RDSMS)中的stream处理。

SQL最初基于关系代数和元组关系演算,由数据定义语言和数据操作语言组成。 SQL的范围包括数据插入,查询,更新和删除,模式创build和修改以及数据访问控制。 虽然SQL经常被描述为一个声明性语言(4GL),并且在很大程度上也是这样,但它也包含了程序元素。

PL / SQL

PL / SQL是SQL与编程语言的过程特征的结合。 它由Oracle公司开发

PL / SQL的特点

  • 完全便携,高性能的事务处理语言。
  • 提供了一个内置的解释和独立于操作系统的编程环境。
  • 直接从命令行SQL * Plus接口调用。
  • 直接调用也可以从外部编程语言调用到数据库。
  • 一般的语法是基于ADA和Pascal编程语言的。
  • 除Oracle之外,它还可以在TimesTen内存数据库和IBM DB2中使用。

T-SQL

Transaction-SQL是SQL的一种扩展forms,它将声明的variables,事务控制,错误和exception处理以及行处理添加到SQL中

结构化查询语言或SQL是一种专注于pipe理关系数据库的编程语言。 SQL有其自身的局限性 ,这促使软件巨人微软在SQL之上build立自己的扩展来增强SQL的function 。 微软将代码添加到SQL,并将其称为Transact-SQL或T-SQL。 请记住,T-SQL是专有的,在Microsoft的控制之下,尽pipe由IBM开发的SQL已经是开放格式。

T-SQL增加了许多在SQL中不可用的function。

这包括程序编程元素和局部variables,以提供对应用程序stream程的更灵活的控制。 T-SQL还增加了一些function,使其更加强大; 用于math运算的function,string操作,date和时间处理等。 这些附加function使T-SQL符合图灵完备性testing,这是一个决定计算语言普遍性的testing。 SQL不是图灵完整的,它的function非常有限。

T-SQL和SQL之间的另一个显着差异是对SQL中已经可用的DELETE和UPDATE命令所做的更改。 对于T-SQL,DELETE和UPDATE命令都允许包含一个允许使用JOIN的FROM子句。 这简化了对logging的过滤,以便轻松挑选符合特定标准的条目,而不像SQL那样可能会更复杂一些。

在T-SQL和SQL之间进行select取决于用户。 尽pipe如此,使用T-SQL在处理Microsoft SQL Server安装时仍然更好。 这是因为T-SQL也是来自微软,并且使用这两者一起最大化兼容性。 具有多个后端的人员首选SQL。

参考资料 ,维基百科,教程点数:www.differencebetween.com

  • SQL是与数据库交谈的语言。 它可以让你select数据,改变和创build数据库对象(如表,视图等),更改数据库设置。
  • PL-SQL过程式编程语言(带有embedded式SQL)
  • SQL Server使用的SQL的T-SQL (程序)扩展

1. SQL或结构化查询语言由IBM为其产品“System R”开发。

后来, ANSI将其作为所有查询语言所基于的标准 ,并将其扩展为创build自己的数据库查询语言服务。 第一个标准是SQL-86 ,最新的是SQL:2011

2.T-SQL或Transact-SQL由Sybase开发,后来由Microsoft SQL Server共同拥有。

3. PL / SQL或程序语言/ SQL是Oracle数据库,那时候被称为“关系软件”。

我已经在我的博客文章中logging了这一点。

结构化查询语言 – SQL:是全球几乎所有SGBD供应商使用的ANSI标准。 基本上,SQL是一种用于定义和操作数据的语言[DDL和DML]。

PL / SQL是由Oracle Universe创build的语言。 PL / SQL结合编程过程指令,并允许创build直接在数据库场景上运行的程序。

T-SQL是微软产品alignmentSQL模式的一些特点。 所以,请随时testing你的极限。