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

时间:2009-06-25 10:54:49

标签: sql tsql plsql

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

任何人都可以解释这三者之间的差异,并提供相关使用的场景吗?

5 个答案:

答案 0 :(得分:343)

  • SQL是一种对集合进行操作的查询语言。

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

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

  • PL/pgSQL是PostgreSQL

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

过程语言旨在扩展SQL的能力,同时能够与SQL很好地集成。添加了一些功能,如局部变量和字符串/数据处理。这些功能使语言Turing-complete。

它们还用于编写存储过程:驻留在服务器上的代码片段,用于管理使用基于集合的操作很难或无法管理的复杂业务规则。

答案 1 :(得分:97)

SQL

  

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

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

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

PL / SQL

PL / SQL是SQL与编程语言程序功能的结合。 它是由Oracle Corporation开发的

  

PL / SQL的特色

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

<强> T-SQL

Transaction-SQL的缩写,一种扩展形式的SQL,它将声明的变量,事务控制,错误和异常处理以及行处理添加到SQL

结构化查询语言或SQL是一种专注于管理关系数据库的编程语言。 SQL有其自身的局限性,这促使软件巨头 Microsoft在SQL之上构建自己的扩展以增强SQL的功能。 Microsoft向SQL添加了代码并将其称为Transact-SQL或T-SQL。请记住,T-SQL是专有的,并且在Microsoft的控制之下,而SQL虽然是由IBM开发的,但已经是一种开放格式。

T-SQL添加了SQL中不可用的许多功能。

这包括过程编程元素和局部变量,以便更灵活地控制应用程序的流动方式。 T-SQL还增加了许多功能,使其功能更强大;用于数学运算,字符串运算,日期和时间处理等的函数。这些新增功能使T-SQL符合图灵完整性测试,这是一种确定计算语言普遍性的测试。 SQL并不是图灵完整的,它的功能范围非常有限。

T-SQL和SQL之间的另一个重要区别是对SQL中已有的DELETE和UPDATE命令所做的更改。使用T-SQL,DELETE和UPDATE命令都允许包含允许使用JOIN的FROM子句。这简化了对记录的过滤,以便轻松挑选出符合某个标准的条目,这与SQL相比可能有点复杂。

在T-SQL和SQL之间进行选择完全取决于用户。当您处理Microsoft SQL Server安装时,使用T-SQL仍然更好。这是因为T-SQL也来自微软,并且使用这两者最大限度地兼容。具有多个后端的人首选SQL。

<强>参考 ,Wikipedea ,教程要点 :www.differencebetween.com

答案 2 :(得分:43)

  • SQL一种与人交谈的语言 数据库。它可以让你选择数据, 改变并创建数据库对象 (如表,视图等),改变 数据库设置。
  • PL-SQL一种过程式编程语言(带有嵌入式SQL)
  • T-SQL 用于SQL的(过程)扩展 通过SQL Server

答案 3 :(得分:29)

<强> 1。 SQL 或结构化查询语言由IBM为其产品&#34; System R&#34;开发。

后来 ANSI 将其作为标准,所有查询语言都基于该标准并对其进行了扩展,以创建自己的数据库查询语言套装。第一个标准是 SQL-86 ,最新的是 SQL:2011

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

第3。 PL / SQL 或过程语言/ SQL是 Oracle 数据库,称为&#34;关系软件&#34;那个时候。

我已在blog post中记录了这一点。

答案 4 :(得分:7)

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

PL / SQL是Oracle Universe创建的一种语言。 PL / SQL结合了编程程序指令,允许创建直接在数据库场景下运行的程序。

T-SQL是Microsoft产品对齐SQL模式,具有一些特殊性。所以,随意测试你的极限。