SQL、PL-SQL 和 T-SQL 有什么区别?
谁能解释这三者之间的区别是什么,并提供每个相关使用的场景?
SQL 是一种对集合进行操作的查询语言。它或多或少是标准化的,几乎被所有关系数据库管理系统使用:SQL Server、Oracle、MySQL、PostgreSQL、DB2、Informix 等。
PL/SQL 是 Oracle 使用的专有过程语言
PL/pgSQL 是 PostgreSQL 使用的一种过程语言
TSQL 是 Microsoft 在 SQL Server 中使用的专有过程语言。
过程语言旨在扩展 SQL 的能力,同时能够与 SQL 很好地集成。添加了一些功能,例如局部变量和字符串/数据处理。这些特性使语言图灵完备。
它们还用于编写存储过程:驻留在服务器上的代码片段,用于管理复杂的业务规则,这些规则很难或不可能通过纯基于集合的操作来管理。
SQL
SQL 用于与数据库进行通信,它是关系数据库管理系统的标准语言。
具体来说,结构化查询语言是一种专用编程语言,设计用于管理关系数据库管理系统 (RDBMS) 中保存的数据,或用于关系数据流管理系统 (RDSMS) 中的流处理。
SQL 最初基于关系代数和元组关系演算,由数据定义语言和数据操作语言组成。 SQL 的范围包括数据插入、查询、更新和删除、模式创建和修改以及数据访问控制。尽管 SQL 经常被描述为并且在很大程度上是一种声明性语言 (4GL),但它也包括过程元素。
PL/SQL
PL/SQL 是 SQL 与编程语言的过程特性的组合。它由甲骨文公司开发
PL/SQL 专业
完全可移植的高性能事务处理语言。
提供了一个内置的解释和操作系统独立的编程环境。
直接从命令行 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 也是来自 Microsoft,将两者结合使用可以最大限度地提高兼容性。拥有多个后端的人更喜欢 SQL。
参考资料,维基百科,教程点:www.differencebetween.com
SQL 一种用于与数据库对话的语言。它允许您选择数据、变异和创建数据库对象(如表、视图等)、更改数据库设置。
PL-SQL 一种过程编程语言(带有嵌入式 SQL)
SQL Server 使用的 SQL 的 T-SQL(过程)扩展
1. SQL 或结构化查询语言是 IBM 为其产品“System R”开发的。
后来 ANSI 将其作为所有查询语言所基于的标准,并对其进行了扩展以创建自己的数据库查询语言套件。第一个标准是 SQL-86,最新的是 SQL:2016
2. T-SQL 或 Transact-SQL 由 Sybase 开发,后来由 Microsoft SQL Server 共同拥有。
3. PL/SQL或Procedural Language/SQL是Oracle数据库,当时被称为“关系软件”。
我已在我的 blog post 中记录了这一点。
结构化查询语言 - SQL:是全球几乎所有 SGBD 供应商使用的 ANSI 标准。基本上,SQL 是一种用于定义和操作数据的语言 [DDL 和 DML]。
PL/SQL 是由 Oracle Universe 创建的一种语言。 PL/SQL 结合了编程过程指令,并允许创建直接在数据库场景上运行的程序。
T-SQL 是 Microsoft 产品对齐的 SQL 模式,具有一些特殊性。因此,请随意测试您的极限。
SQL 是一个标准,有许多数据库供应商,如 Microsoft、Oracle 使用他们自己的专有语言来实现这个标准。
Microsoft 使用 T-SQL 实现 SQL 标准来与数据交互,而 oracle 使用 PL/SQL。